我现在正在学习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
。
为什么会这样?我没有将任何变量设置为字符串......就像我看到的那样。
答案 0 :(得分:13)
%
的优先级高于+
,因此s % y + z
会被解析为(s % y) + z
。
如果s
是一个字符串,那么s % x
是一个字符串,而(s % y) + z
会尝试添加一个字符串(s % y
的结果)和一个整数(该值) z
)。
答案 1 :(得分:9)
您需要加上括号:(y+z)