Operator precedence tells us which math or logic operation happens first in a calculation. Evaluation order is the sequence in which parts of the expression are solved.
When you write math expressions with multiple operations like +, -, *, /
When you combine logical conditions using and, or, not
When you want to understand why a complex expression gives a certain result
When debugging code that uses many operators together
When you want to write clear code without extra parentheses
Syntax
Python
result = expression_with_operators
Operators like *, / have higher precedence than +, - so they run first.
Use parentheses () to change the order and make your code clearer.
Examples
Multiplication (*) happens before addition (+), so 3*4=12, then 2+12=14.
Python
result = 2 + 3 * 4
Parentheses force addition first: 2+3=5, then 5*4=20.
Python
result = (2 + 3) * 4
Division and multiplication have the same precedence, so evaluation goes left to right: 10/2=5.0, then 5.0*3=15.0.
Python
result = 10 / 2 * 3
and has higher precedence than or, so False and False is False, then True or False is True.
Python
result = TrueorFalseandFalse
Sample Program
This program shows how operator precedence and evaluation order affect the results of expressions.
Python
a = 5 + 2 * 3
b = (5 + 2) * 3
c = 10 / 2 * 4
d = TrueorFalseandFalseprint(f"a = {a}")
print(f"b = {b}")
print(f"c = {c}")
print(f"d = {d}")
OutputSuccess
Important Notes
Remember that multiplication and division happen before addition and subtraction.
When operators have the same precedence, Python evaluates them from left to right.
Use parentheses to make your code easier to read and avoid mistakes.
Summary
Operator precedence decides which operations run first.
Evaluation order is left to right for operators with the same precedence.
Parentheses can change the order and improve clarity.
Practice
(1/5)
1. Which operator has the highest precedence in the expression 3 + 4 * 2?
easy
A. Multiplication (*)
B. Addition (+)
C. Subtraction (-)
D. Division (/)
Solution
Step 1: Recall operator precedence rules
Multiplication (*) has higher precedence than addition (+), subtraction (-), and division (/).
Step 2: Identify highest precedence operator in expression
In 3 + 4 * 2, multiplication (*) runs before addition (+).
Final Answer:
Multiplication (*) -> Option A
Quick Check:
Highest precedence = Multiplication (*) [OK]
Hint: Multiplication and division run before addition and subtraction [OK]
Common Mistakes:
Thinking addition runs before multiplication
Ignoring operator precedence
Assuming left to right always applies
2. Which of the following expressions is syntactically correct in Python?
easy
A. 5 + * 3
B. 4 + (3 * 2)
C. 7 / / 2
D. 8 - -
Solution
Step 1: Check each expression for syntax errors
5 + * 3 has two operators in a row without operand: invalid. 4 + (3 * 2) uses parentheses correctly and valid operators. 7 / / 2 has double division operator which is invalid. 8 - - ends with operator without operand: invalid.
Step 2: Confirm correct syntax
Only 4 + (3 * 2) is syntactically correct: 4 + (3 * 2).
Final Answer:
4 + (3 * 2) -> Option B
Quick Check:
Valid syntax = 4 + (3 * 2) [OK]
Hint: Check for missing operands or extra operators [OK]
Common Mistakes:
Using two operators in a row
Missing parentheses around expressions
Ending expression with an operator
3. What is the output of the following code?
result = 10 - 3 * 2 + 4 // 2
print(result)
medium
A. 5
B. 8
C. 6
D. 4
Solution
Step 1: Apply operator precedence and evaluate multiplication and floor division first
3 * 2 = 6 4 // 2 = 2
Step 2: Evaluate the expression left to right with addition and subtraction
10 - 6 + 2 = 4 + 2 = 6
Final Answer:
6 -> Option C
Quick Check:
10 - 6 + 2 = 6 [OK]
Hint: Multiply and divide before add and subtract [OK]
Common Mistakes:
Adding before multiplying
Using normal division instead of floor division
Ignoring left to right evaluation for same precedence
4. Find the error in this expression:
value = 5 + (3 * 2
medium
A. No error, expression is correct
B. Wrong operator used
C. Extra operator before 2
D. Missing closing parenthesis
Solution
Step 1: Check parentheses balance
Expression has an opening parenthesis '(' but no matching closing parenthesis ')'.
Step 2: Identify syntax error
Missing closing parenthesis causes syntax error in Python.
Final Answer:
Missing closing parenthesis -> Option D
Quick Check:
Parentheses must be balanced [OK]
Hint: Count opening and closing parentheses carefully [OK]
Common Mistakes:
Ignoring missing parentheses
Assuming expression is valid without closing parenthesis
Confusing operator errors with syntax errors
5. Given the expression result = (2 + 3) * (4 - 1) ** 2 // 5, what is the value of result?
hard
A. 9
B. 15
C. 5
D. 25
Solution
Step 1: Evaluate parentheses and exponentiation first
(2 + 3) = 5 (4 - 1) = 3 3 ** 2 = 9
Step 2: Multiply and then floor divide
5 * 9 = 45 45 // 5 = 9
Final Answer:
9 -> Option A
Quick Check:
Parentheses and exponent first, then multiply, then floor divide [OK]
Hint: Do parentheses and powers before multiply/divide [OK]
Common Mistakes:
Ignoring exponentiation precedence
Dividing before multiplying
Not applying floor division correctly
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.