Learning Resources
 

Operators and Expressions


Note that you can evaluate the expressions given in the examples using the interpreter interactively. For example, to test the expression 2 + 3, use the interactive Python interpreter prompt:

>>> 2 + 3
5
>>> 3 * 5
15
>>>
Operators And Their Usage

Operator

Name

Explanation

Examples

+

Plus

Adds the two objects

3 + 5 gives 8. 'a' + 'b' gives 'ab'.

-

Minus

gives the subtraction of one number from the other; if the first operand is absent it is assumed to be zero.

-5.2 gives a negative number and 50 - 24 gives 26.

*

Multiply

Gives the multiplication of the two numbers or returns the string repeated that many times.

2 * 3 gives 6. 'la' * 3 gives 'lalala'.

**

Power

Returns x to the power of y

3 ** 4 gives 81 (i.e. 3 * 3 * 3 * 3)

/

Divide

Divide x by y

4 / 3 gives 1.3333333333333333.

//

Floor Division

Returns the floor of the quotient

4 // 3 gives 1.

%

Modulo

Returns the remainder of the division

8 % 3 gives 2. -25.5 % 2.25 gives 1.5.

<<

Left Shift

Shifts the bits of the number to the left by the number of bits specified. (Each number is represented in memory by bits or binary digits i.e. 0 and 1)

2 << 2 gives 8. 2 is represented by 10 in bits. Left shifting by 2 bits gives 1000 which represents the decimal 8.

>>

Right Shift

Shifts the bits of the number to the right by the number of bits specified.

11 >> 1 gives 5. 11 is represented in bits by 1011 which when right shifted by 1 bit gives 101 which is the decimal 5.

&

Bitwise AND

Bitwise AND of the numbers

5 & 3 gives 1.

|

Bit-wise OR

Bitwise OR of the numbers

5 | 3 gives 7

^

Bit-wise XOR

Bitwise XOR of the numbers

5 ^ 3 gives 6

~

Bit-wise invert

The bit-wise inversion of x is -(x+1)

~5 gives -6.

<

Less Than

Returns whether x is less than y. All comparison operators return True or False. Note the capitalization of these names.

5 < 3 gives False and 3 < 5 gives True.

Comparisons can be chained arbitrarily: 3 < 5 < 7 gives True.

>

Greater Than

Returns whether x is greater than y

5 > 3 returns True. If both operands are numbers, they are first converted to a common type. Otherwise, it always returns False.

<=

Less Than or Equal To

Returns whether x is less than or equal to y

x = 3; y = 6; x <= y returns True.

>=

Greater Than or Equal To

Returns whether x is greater than or equal to y

x = 4; y = 3; x >= 3 returns True.

==

Equal To

Compares if the objects are equal

x = 2; y = 2; x == y returns True.

x = 'str'; y = 'stR'; x == y returns False.

x = 'str'; y = 'str'; x == y returns True.

!=

Not Equal To

Compares if the objects are not equal

x = 2; y = 3; x != y returns True.

not

Boolean NOT

If x is True, it returns False. If x is False, it returns True.

x = True; not x returns False.

and

Boolean AND

x and y returns False if x is False, else it returns evaluation of y

x = False; y = True; x and y returns False since x is False. In this case, Python will not evaluate y since it knows that the left hand side of the 'and' expression is False which implies that the whole expression will be False irrespective of the other values. This is called short-circuit evaluation.

or

Boolean OR

If x is True, it returns True, else it returns evaluation of y

x = True; y = False; x or y returns True. Short-circuit evaluation applies here as well.

Shortcut for math operation and assignment

It is common to run a math operation on a variable and then assign the result of the operation back to the variable, hence there is a shortcut for such expressions:

You can write:

a = 2; a = a * 3

as:

a = 2; a *= 3

Notice that var = var operation expression becomes var operation= expression.

-Swaroopch