Evaluation of Expressions

Q

How expressions are evaluated in Python?

✍: FYIcenter.com

A

Expressions are evaluated in Python based on precedence of each operation list below:

Operator         Description
--------         -----------
(expressions...), [expressions...], {key: value...}, {expressions...}   
                 Binding or tuple display, list display, dictionary display, set display
x[index], x[index:index], x(arguments...), x.attribute   
                 Subscription, slicing, call, attribute reference
await x          Await expression
**               Exponentiation [6]
+x, -x, ~x       Positive, negative, bitwise NOT
*, @, /, //, %   Multiplication, matrix multiplication division, remainder [5]
+, -             Addition and subtraction
<<, >>           Shifts
&                Bitwise AND
^                Bitwise XOR
|                Bitwise OR
in, not in, is, is not, <, <=, >, >=, !=, ==   
                 Comparisons, including membership tests and identity tests
not x            Boolean NOT
and              Boolean AND
or               Boolean OR
if – else        Conditional expression
lambda           Lambda expression

The (expression) has the highest precedence, so it will be evaluated first.

For operations of the same precedence, they will be evaluated from left to right.

For example, the following two expressions are evaluated with the same order and producing the same result:

>>> 2 * 3 + 4
10
>>> (2 * 3) + 4
10

 

Expressions, Variables and Assignment Statements

⇒⇒Python Tutorials

2017-09-09, 111👍, 0💬