Python operator precedence
within the same precedence operators work left to right Except for exponents, comparisons, and assignments
Operator Description
{} dictionary, set, and their comprehensions
[] list, list comprehensions
() tuple, expression, generator expression
x.attr attribute reference
x() call
x[i:j:k] slice
x[i] indexing
x ** y exponent
~x bitwise NOT
-x, +x negation
x/y, x//y division
x % y remainder
x * y multiplication, repeatition
x – y subtraction, set difference
x + y addition, concatenation
x>>y, x< bitwise right and left shift
x & y bitwise AND, set intersection
X ^ y bitwise XOR, set symmetric difference
x | y bitwise OR, set union
x==y, x !=y value equality
>, <, >=, <= value comparison, subset, superset
=, +=, -=, *=, /=, %=, **=, //= “assignment” (set reference)
x is y, x is not y object identity
x In y , x not in y membership
not x logical negation
x and y logical and
x or y logical or
x if y else z ternary operator
lambda args : expression anonymous in-line function
yield y generator function send protocol