TypeError: no puede concatenar objetos ‘str’ e ‘int’

Estoy aprendiendo Python ahora, yay! De todos modos, tengo un pequeño problema. No veo el problema aquí:

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 

Pero Python piensa diferente: TypeError: cannot concatenate 'str' and 'int' objects .

¿Por qué es así? No he establecido ninguna variable como cadena … tanto como veo.

% tiene una prioridad más alta que + , por lo que s % y + z se analiza como (s % y) + z .

Si s es una cadena, entonces s % x es una cadena, y (s % y) + z intenta agregar una cadena (el resultado de s % y ) y un entero (el valor de z ).

Necesitas poner paréntesis: (y+z)