Bird
Raised Fist0
Pythonprogramming~5 mins

Operator precedence and evaluation order in Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is operator precedence in Python?
Operator precedence determines the order in which different operators in an expression are evaluated. Operators with higher precedence are evaluated before those with lower precedence.
Click to reveal answer
beginner
Which operator has higher precedence: multiplication (*) or addition (+)?
Multiplication (*) has higher precedence than addition (+), so it is evaluated first in an expression without parentheses.
Click to reveal answer
intermediate
What does evaluation order mean in Python expressions?
Evaluation order is the sequence in which parts of an expression are calculated. Even if operators have the same precedence, Python evaluates them from left to right (for most operators).
Click to reveal answer
beginner
How do parentheses affect operator precedence and evaluation order?
Parentheses have the highest precedence. Expressions inside parentheses are evaluated first, overriding the normal precedence rules.
Click to reveal answer
beginner
Consider the expression: 3 + 4 * 2. What is the result and why?
The result is 11 because multiplication (*) has higher precedence than addition (+). So, 4 * 2 is evaluated first (8), then 3 + 8 equals 11.
Click to reveal answer
In the expression 5 + 3 * 2, which operation is performed first?
AMultiplication
BAddition
CBoth at the same time
DDepends on the order written
What is the result of (5 + 3) * 2?
A16
B11
C10
D13
Which operator has the highest precedence in Python?
AMultiplication (*)
BAddition (+)
CParentheses ()
DExponentiation (**)
If two operators have the same precedence, how does Python decide which to evaluate first?
ADepends on the operator
BRandomly
CRight to left
DLeft to right
What is the result of 2 ** 3 ** 2 in Python?
A64
B512
C256
D16
Explain how operator precedence and evaluation order work together in Python expressions.
Think about how Python decides what to calculate first in a math expression.
You got /4 concepts.
    Describe how parentheses change the way Python evaluates an expression.
    Imagine grouping parts of a math problem to solve them first.
    You got /4 concepts.

      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

      1. Step 1: Recall operator precedence rules

        Multiplication (*) has higher precedence than addition (+), subtraction (-), and division (/).
      2. Step 2: Identify highest precedence operator in expression

        In 3 + 4 * 2, multiplication (*) runs before addition (+).
      3. Final Answer:

        Multiplication (*) -> Option A
      4. 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

      1. 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.
      2. Step 2: Confirm correct syntax

        Only 4 + (3 * 2) is syntactically correct: 4 + (3 * 2).
      3. Final Answer:

        4 + (3 * 2) -> Option B
      4. 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

      1. Step 1: Apply operator precedence and evaluate multiplication and floor division first

        3 * 2 = 6
        4 // 2 = 2
      2. Step 2: Evaluate the expression left to right with addition and subtraction

        10 - 6 + 2 = 4 + 2 = 6
      3. Final Answer:

        6 -> Option C
      4. 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

      1. Step 1: Check parentheses balance

        Expression has an opening parenthesis '(' but no matching closing parenthesis ')'.
      2. Step 2: Identify syntax error

        Missing closing parenthesis causes syntax error in Python.
      3. Final Answer:

        Missing closing parenthesis -> Option D
      4. 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

      1. Step 1: Evaluate parentheses and exponentiation first

        (2 + 3) = 5
        (4 - 1) = 3
        3 ** 2 = 9
      2. Step 2: Multiply and then floor divide

        5 * 9 = 45
        45 // 5 = 9
      3. Final Answer:

        9 -> Option A
      4. 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