# Operators and Expressions in Python

• Print
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)

 Operator Name (...), [...], {...} Tuple, list, and dictionary creation ´...´ String conversion s[i], s[i:j] Indexing and slicing s.attr Attributes f(...) 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 Bit-shifting 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