为什么在python 2x中打印正确的结果

时间:2015-07-26 08:14:26

标签: python string

print 'The value of pi is ' + str() + '3.14'

这将使用int()和float()抛出错误,但不会抛出str() 任何帮助非常感谢。

2 个答案:

答案 0 :(得分:3)

因为写str()等同于写'',即空字符串。使用+运算符,您可以使用它来添加数字,也可以使用它来将字符串连接在一起。当您尝试将字符串添加到非字符串时,它将无法工作。

您的代码等同于以下内容:

print 'The value of pi is ' + '' + '3.14'

反过来,相当于:

print 'The value of pi is 3.14'

使用int(),您的代码与此相同:

print 'The value of pi is ' + 0 + '3.14'

使用float()

print 'The value of pi is ' + 0.0 + '3.14'

这些都不会起作用,因为他们试图将字符串添加到数字中。

您可能打算这样做:

print 'The value of pi is ' + str(3.14)

这会将3.14从float(带小数的数字)转换为字符串,以便in可以与字符串'The value of pi is '连接。

答案 1 :(得分:1)

str无法与intfloat个对象连接

>>>int()
0
>>>float()
0.0

两者都不是str个对象。但是str()会产生一个str对象''。所以它可以。