TypeError:无法连接'str'和'int'对象

时间:2011-08-09 19:16:41

标签: python string integer concatenation typeerror

我现在正在学习Python,是的!无论如何,我有小问题。我在这里看不到问题:

x = 3
y = 7
z = 2

print "I told to the Python, that the first variable is %d!" % x
print "Anyway, 2nd and 3rd variables sum is %d. :)" % y + z

但Python认为不同 - TypeError: cannot concatenate 'str' and 'int' objects

为什么会这样?我没有将任何变量设置为字符串......就像我看到的那样。

2 个答案:

答案 0 :(得分:13)

%的优先级高于+,因此s % y + z会被解析为(s % y) + z

如果s是一个字符串,那么s % x是一个字符串,而(s % y) + z会尝试添加一个字符串(s % y的结果)和一个整数(该值) z)。

答案 1 :(得分:9)

您需要加上括号:(y+z)