Operator Precedence
Operator precedence describes the order in which operations are performed.
Example
Parentheses has the highest precedence, meaning that expressions inside parentheses must be evaluated first:
python
print((6 + 3) - (6 + 3))
Example
Multiplication * has higher precedence than addition +, and therefore multiplications are evaluated before additions:
python
print(100 + 5 * 3)
Precedence Order
The precedence order is described in the table below, starting with the highest precedence at the top:
| Operator | Description | Try it |
|---|---|---|
| () | Parentheses | |
| ** | Exponentiation | |
| +x -x ~x | Unary plus, unary minus, and bitwise NOT | |
| * / // % | Multiplication, division, floor division, and modulus | |
| + - | Addition and subtraction | |
| << >> | Bitwise left and right shifts | |
| & | Bitwise AND | |
| ^ | Bitwise XOR | |
| | | Bitwise OR | |
| == != > >= < <= is is not in not in | Comparisons, identity, and membership operators | |
| not | Logical NOT | |
| and | AND | |
| or | OR |
Left-to-Right Evaluation
If two operators have the same precedence, the expression is evaluated from left to right.
Example
Addition + and subtraction - has the same precedence, and therefore we evaluate the expression from left to right:
python
print(5 + 4 - 7 + 3)