Home > Articles > Programming > Python

  • Print
  • + Share This
This chapter is from the book

Order of Evaluation

Table 4.2 lists the order of operation (precedence rules) for Python operators. All operators except the power (**) operator are evaluated from left to right and are listed in the table from highest to lowest precedence. That is, operators listed first in the table are evaluated before operators listed later. (Note that operators included together within subsections, such as x * y, x / y, x // y, and x % y, have equal precedence.)

Table 4.2 Order of Evaluation (Highest to Lowest)



(...), [...], {...}

Tuple, list, and dictionary creation


String conversion

s[i], s[i:j]

Indexing and slicing




Function calls

+x, -x, ~x

Unary operators

x ** y

Power (right associative)

x * y, x / y, x // y, x % y

Multiplication, division, floor division, modulo

x + y, x - y

Addition, subtraction

x << y, x >> y


x & y

Bitwise and

x ^ y

Bitwise exclusive or

x | y

Bitwise or

x < y, x <= y, x > y, x >= y,

Comparison, identity, and sequence membership tests

x == y, x != y


x <> y


x is y, x is not y


x in s, x not in s


not x

Logical negation

x and y

Logical and

x or y

Logical or

lambda args: expr

Anonymous function

  • + Share This
  • 🔖 Save To Your Account