Search code examples
pythonexpression

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


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


Solution

  • 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