What is the difference between an expression and a statement in Python?

wassimans picture wassimans · Jan 18, 2011 · Viewed 189.8k times · Source

In Python, what is the difference between expressions and statements?

Answer

Sven Marnach picture Sven Marnach · Jan 18, 2011

Expressions only contain identifiers, literals and operators, where operators include arithmetic and boolean operators, the function call operator () the subscription operator [] and similar, and can be reduced to some kind of "value", which can be any Python object. Examples:

3 + 5
map(lambda x: x*x, range(10))
[a.x for a in some_iterable]
yield 7

Statements (see 1, 2), on the other hand, are everything that can make up a line (or several lines) of Python code. Note that expressions are statements as well. Examples:

# all the above expressions
print 42
if x: do_y()
return
a = 7