Python Operator Precedence

Python, as a programming language, follows a set of rules known as operator precedence to determine the order in which operators are evaluated in an expression. Operator precedence helps to avoid ambiguity and ensures that expressions are evaluated correctly.

Python’s operator precedence can be summarized as follows:

  1. Expressions within parentheses are evaluated first.
  2. Exponentiation (**) has the highest precedence.
  3. Multiplication (*), division (/), and modulo (%) have the next highest precedence.
  4. Addition (+) and subtraction (-) have the lowest precedence among the arithmetic operators.
  5. Comparison operators (>, <, >=, <=, ==, !=) have higher precedence than logical operators (and, or, not).
  6. Assignment operators (=, +=, -=, *=, /=, %=, **=) have the lowest precedence.

Let’s explore these rules further with some examples:

Example 1: Parentheses

Expressions within parentheses are evaluated first. For example:

x = (2 + 3) * 4

In this case, the addition inside the parentheses is evaluated first, resulting in 5 * 4, which gives the value of 20 for x.

Example 2: Exponentiation

Exponentiation has the highest precedence. For example:

x = 2 + 3 ** 2

In this case, the exponentiation operation 3 ** 2 is evaluated first, resulting in 9. Then, the addition operation 2 + 9 gives the value of 11 for x.

Example 3: Arithmetic Operators

Multiplication, division, and modulo have higher precedence than addition and subtraction. For example:

x = 2 + 3 * 4

In this case, the multiplication operation 3 * 4 is evaluated first, resulting in 12. Then, the addition operation 2 + 12 gives the value of 14 for x.

Example 4: Comparison and Logical Operators

Comparison operators have higher precedence than logical operators. For example:

x = 2 + 3 > 4 and 5 < 6

In this case, the addition operation 2 + 3 is evaluated first, resulting in 5. Then, the comparison operators 5 > 4 and 5 < 6 are evaluated. Finally, the logical operator and combines the results, giving the value of True for x.

Example 5: Assignment Operators

Assignment operators have the lowest precedence. For example:

x = 2 + 3

In this case, the addition operation 2 + 3 is evaluated first, resulting in 5. Then, the value of 5 is assigned to the variable x.

Understanding operator precedence is crucial for writing correct and efficient Python code. By following these rules, you can ensure that your expressions are evaluated in the desired order.

It is important to note that if you want to override the default precedence, you can use parentheses to explicitly group operations. This helps in making your code more readable and avoids any confusion.

Now that you have a good understanding of Python’s operator precedence, you can confidently write complex expressions knowing that they will be evaluated correctly.

Scroll to Top