print 'The value of pi is ' + str() + '3.14'
这将使用int()和float()抛出错误,但不会抛出str() 任何帮助非常感谢。
答案 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
无法与int
或float
个对象连接
>>>int()
0
>>>float()
0.0
两者都不是str
个对象。但是str()
会产生一个str对象''
。所以它可以。