Commonly Used Operators with Python - dummies

By John Paul Mueller

It’s important to know which operators Python supports, and remembering them all is not always easy. The following table provides a quick summary of commonly used operators with Python.

Operator Type Description Example
Arithmetic Subtracts the right operand from left hand operand. 5
2 = 3
Unary Negates the original value so that positive becomes negative
and vice versa.
(4) results in 4 while 4 results in
4
= Assignment Subtracts the value found in the right operand from the value
found in the left operand and places the result in the left
operand.
MyVar -= 2 results in MyVar containing
3
!= Relational Determines whether two values are not equal. Some older
versions of Python would allow you to use the <> operator in place of the != operator.
Using the <> operator results in an
error in current versions of Python.
1 != 2 is True
% Arithmetic Divides the left operand by the right operand and returns the
remainder.
5 % 2 = 1
%= Assignment Divides the value found in the left operand by the value found
in the right operand and places the remainder in the left
operand.
MyVar %= 2 results in MyVar containing
1
& (And) Bitwise Determines whether both individual bits within two operators
are true and sets the resulting bit to true when they are.
0b1100 & 0b0110 = 0b0100
* Arithmetic Multiplies the right operand by the left operand. 5 * 2 = 10
** Arithmetic Calculates the exponential value of the right operand by the
left operand.
5 ** 2 = 25
**= Assignment Determines the exponential value found in the left operand when
raised to the power of the value found in the right operand and
places the result in the left operand.
MyVar ** 2 results in MyVar containing
25
*= Assignment Multiplies the value found in the right operand by the value
found in the left operand and places the result in the left
operand.
MyVar *= 2 results in MyVar containing
10
/ Arithmetic Divides the left operand by the right operand. 5 / 2 = 2.5
// Arithmetic Performs integer division, where the left operand is divided by
the right operand and only the whole number is returned (also
called floor division).
5 // 2 = 2
//= Assignment Divides the value found in the left operand by the value found
in the right operand and places the integer (whole number) result
in the left operand.
MyVar //= 2 results in MyVar containing
2
/= Assignment Divides the value found in the left operand by the value found
in the right operand and places the result in the left
operand.
MyVar /= 2 results in MyVar containing
2.5
^ (Exclusive or) Bitwise Determines whether just one of the individual bits within two
operators are true and sets the resulting bit to true when they
are. When both bits are true or both bits are false, the result is
false.
0b1100 ^ 0b0110 = 0b1010
| (Or) Bitwise Determines whether either of the individual bits within two
operators are true and sets the resulting bit to true when they
are.
0b1100 | 0b0110 = 0b1110
~ Unary Inverts the bits in a number so that all the 0 bits become 1
bits and vice versa.
~4 results in a value of −5
~ (Ones complement) Bitwise Calculates the one’s complement value of a number. ~0b1100 = −0b1101

~0b0110 = −0b0111

+ Arithmetic Adds two values together. 5 + 2 = 7
+ Unary Provided purely for the sake of completeness. This operator
returns the same value that you provide as input.
+4 results in a value of 4
+= Assignment Adds the value found in the right operand to the value found in
the left operand and places the result in the left operand.
MyVar += 2 results in MyVar containing 7
< Relational Verifies that the left operand value is less than the right
operand value.
1 < 2 is True
<< (Left shift) Bitwise Shifts the bits in the left operand left by the value of the
right operand. All new bits are set to 0 and all bits that flow off
the end are lost.
0b00110011 << 2 = 0b11001100
<= Relational Verifies that the left operand value is less than or equal to
the right operand value.
1 <= 2 is True
= Assignment Assigns the value found in the right operand to the left
operand.
MyVar = 2 results in MyVar containing 2
== Relational Determines whether two values are equal. Notice that the
relational operator uses two equals signs. A mistake many
developers make is using just one equals sign, which results in one
value being assigned to another.
1 == 2 is False
> Relational Verifies that the left operand value is greater than the right
operand value.
1 > 2 is False
>= Relational Verifies that the left operand value is greater than or equal
to the right operand value.
1 >= 2 is False
>> (Right shift) Bitwise Shifts the bits in the left operand right by the value of the
right operand. All new bits are set to 0 and all bits that flow off
the end are lost.
0b00110011 >> 2 = 0b00001100
and Logical Determines whether both operands are true. True and True is True

True and False is False

False and True is False

False and False is False

in Membership Determines whether the value in the left operand appears in the
sequence found in the right operand.
“Hello” in “Hello Goodbye” is True
is Identity Evaluates to true when the type of the value or expression in
the right operand points to the same type in the left operand.
type(2) is int is True
is not Identity Evaluates to true when the type of the value or expression in
the right operand points to a different type than the value or
expression in the left operand.
type(2) is not int is False
not Logical Negates the truth value of a single operand. A true value
becomes false and a false value becomes true.
not True is False

not False is True

not in Membership Determines whether the value in the left operand is missing
from the sequence found in the right operand.
“Hello” not in “Hello Goodbye” is False
or Logical Determines when one of two operands are true. True or True is True

True or False is True

False or True is True

False or False is False