TL; DR: Las expresiones son combinaciones de valores y operadores y siempre se evalúan hasta en un único valor. Una declaración es cualquier otra instrucción. Algunas declaraciones contienen expresiones.
Un expresión es una instrucción que combina valores y operaciones y siempre se evalúa a un solo valor.
Por ejemplo, esta es una expresión:
>>> 2 + 2
Los 2s son valores enteros y el + es el operador matemático. Esta expresión se evalúa hasta el valor entero simple 4.
Técnicamente, esto es también una expresión:
>>> 4
Como una expresión, se evalúa hasta el valor único 4.
Cuando digo valores y operadores, esto no se limita a los problemas de matemáticas:
>>> 'You will be ' + str(int(myAge) + 1) + ' next year.'
la variable myAge
se evalúa al valor en su interior. La llamada a la función int('5')
evalúa el valor de retorno de la función, 5
. Todos estos valores de cadena se combinan con el operador +
(en este caso, es el operador de concatenación de cadenas).No importa lo grande que una expresión es, que evalúa a un solo valor : en este caso, el valor de cadena 'You will be 6 next year.'
Contraste esto con una declaración , que es una instrucción de Python que no evalúa a una valor. Una declaración de Python es casi todo lo demás que no es una expresión. He aquí un comunicado asignación:
>>> spam = 2 + 2
aquí es una declaración si:
>>> if spam == 4:
Aquí está una declaración mientras que para un bucle infinito:
>>> while True:
Tenga en cuenta que ambas afirmaciones contienen expresiones (incluso True
, que evalúa hasta el valor único True
). Pero no todas las declaraciones usan expresiones en ellas. Aquí hay una sentencia break:
>>> break
Relacionados (pero no ** ** un duplicado exacto): [¿Cuál es la diferencia entre una expresión y una declaración?] (Http://stackoverflow.com/questions/4728073/ python-what-is-the-difference-between-an-expression-and-a-statement) –