Computer >> Computer tutorials >  >> Programming >> Python

Python Operators Precedence


The following table lists all operators from highest precedence to lowest.

Sr.NoOperator & Description
1**
Exponentiation (raise to the power)
2~ + -
Complement, unary plus and minus (method names for the last two are +@ and -@)
3* / % //
Multiply, divide, modulo and floor division
4+ -
Addition and subtraction
5>> <<
Right and left bitwise shift
6&
Bitwise 'AND'td>
7^ |
Bitwise exclusive `OR' and regular `OR'
8<= < > >=
Comparison operatorsp>
9<> == !=
Equality operators
10= %= /= //= -= += *= **=
Assignment operators
11is is not
is is not
12in not in
Membership operators
13not or and
Logical operators

Operator precedence affects how an expression is evaluated.

For example, x = 7 + 3 * 2; here, x is assigned 13, not 20 because operator * has higher precedence than +, so it first multiplies 3*2 and then adds into 7.

Here, operators with the highest precedence appear at the top of the table, those with the lowest appear at the bottom.

Example

#!/usr/bin/python
a = 20
b = 10
c = 15
d = 5
e = 0
e = (a + b) * c / d #( 30 * 15 ) / 5
print "Value of (a + b) * c / d is ", e
e = ((a + b) * c) / d # (30 * 15 ) / 5
print "Value of ((a + b) * c) / d is ", e
e = (a + b) * (c / d); # (30) * (15/5)
print "Value of (a + b) * (c / d) is ", e
e = a + (b * c) / d; # 20 + (150/5)
print "Value of a + (b * c) / d is ", e

Output

When you execute the above program it produces the following result −

Value of (a + b) * c / d is 90
Value of ((a + b) * c) / d is 90
Value of (a + b) * (c / d) is 90
Value of a + (b * c) / d is 50