5.13 Evaluation order
Keywords: ref

#
5.13 Evaluation order

Python evaluates expressions from left to right. Notice that while evaluating an assignment, the right-hand side is evaluated before the left-hand side.

In the following lines, expressions will be evaluated in the arithmetic order of their suffixes:

      expr1, expr2, expr3, expr4
      (expr1, expr2, expr3, expr4)
      expr1 + expr2 * (expr3 - expr4)
      func(expr1, expr2, *expr3, **expr4)
      expr3, expr4 = expr1, expr2

Dictionaries are currently an exception to the rule and they evaluate in the following order:

      {expr2: expr1, expr4: expr3}

In Python 2.3, the order will be changed to be consistent with other expressions:

      {expr1: expr2, expr3: expr4}