All Python Operators

Photo by Pakata Goh on Unsplash

In this guide, we will talk about Python programming language operators. You will learn about arithmetic, logical and bitwise operators, as well as comparison, assignment, membership, identity operators, and their syntax. All this will be illustrated with examples.

An operator in Python is a symbol that performs an operation on one or more operands.
The operand is the variable or value on which the operation is performed.

Introduction to Python Operators

Python operators come in 7 types:

  • Arithmetic operators
  • Comparison operators
  • Assignment operators
  • Logical operators
  • Accessory Operators
  • Identity operators
  • Bitwise operators

Python arithmetic operators

(This type includes operators for performing basic arithmetic operations.)

Addition (+)

Adds the value on both sides of the operator.
Example:

3+4
7

Subtraction (-)

Subtracts the value of the right side from the value in the left.
Example:

3-4
-1

Multiplication (*)

Multiplies the values on both sides of the operator.
Example:

3*4
12

Division (/)

Divides the value of the left side of the assignment of the right. The data type of the division result is a floating point number.
Example:

3/4
0.75

Exponentiation (**)

Raises the first number to the power of the second.
Example:

3**4
81

Division without remainder (//)

Performs division and returns the integer value of the quotient, removing the digits after the decimal point.
Example:

4//3
1
10//3
3

Division modulo (remainder of division) (%)

Performs division and returns the value of the remainder.
Example:

3%4
3
4%3
1
10%3
1
10.5%3
1.5

Comparison operators

Comparison operators in Python compare operands. They report whether one of them is greater than the other, less than, equal to, or both.

Less (<)

This operator checks whether the value on the left is less than the value on the right.
Example:

4<3
False

More (>)

Checks whether the value on the left is greater than the one on the right.
Example:

4>3
True

Less than or equal to (<=)

Checks whether the left part is less than or equal to the right.
Example:

7<=7
True

Greater than or equal to (>=)

Checks whether the left part is greater than or equal to the right.
Example:

0>=0
True

Equal to (==)

This operator checks whether the value from the left is equal to the right. 1 is equal to Boolean True, and 2 (two) is not. 0 is False.
Example:

3==3.0
True

1==True
True

7==True
False

0==False
True

0.5==True
False

Not equal to (!=)

Checks whether the value on the left is equal to the value on the right. The <> operator performs the same task, but it was removed in Python 3.

When the condition is met, True is returned. Otherwise, False. This return value can be used in subsequent statements and expressions.
Example:

1!=1.0
False
1==True  # This raise Syntax Error

Assignment operators

The assignment operator assigns a value to a variable. It can manipulate the value before assignment. There are 8 assignment operators: 1 simple and 7 using arithmetic operators.

Assignment (=)

Assigns a value from the right to the left part. It is worth noting that == is used for comparison, and = for assignment.
Example:

a = 8
print(a)
8

Addition and assignment (+=)

Sums up the value of both sides and assigns it to the expression on the left. a += 10 is the same as a = a + 10.

The same applies to all other assignment operators.
Example:

a=8
a += 2
print(a)
10

Subtraction and assignment (-=)

Subtracts the value on the right from the left and assigns it to the expression on the left.
Example:

a=10
a -= 2
print(a)
8

Division and assignment (/=)

Divides the value from the left by the right. Then assigns it to the expression on the left.
Example:

a /= 7
print(a)
1.0

Multiplication and assignment (*=)

Multiplies the values of both sides. Then assigns the right to the left.
Example:

a *= 8
print(a)
8.0

Modulo division and assignment (%=)

Performs modulo division for both parts. The result assigns to the left part.
Example:

a=7
a %= 3
print(a)
2.0

Exponentiation and assignment (**=)

Performs exponentiation of the left part of the value of the right part. Then assigns a value to the left part.
Example:

a **= 5
print(a)
32.0

Division with remainder and assignment (//=)

Performs division with the remainder and assigns the result to the left part.
Example:

a //= 3
print(a)
10.0

This is one of the important Python operators

Python Logical operators

These are unions that allow you to combine several conditions. There are only three operators in Python: and (and), or (or) and not (not).

And

If the conditions on both sides of the and operator are true, then the entire expression is considered true.
Example:

a = 7 > 7 and 2 > -1
print(a)
False

Or

The expression is false if both operands on both sides are false. If at least one of them is true, then the whole expression is true.
Example:

a = 7 > 7 or 2 > -1
print(a)
True

Not

This operator inverts the Boolean values of the expression. True turns into False and vice versa. In the example below, the Boolean value 0 is False. Therefore, it turns into True.
Example:

a = not(0)
print(a)
True

Accessory Operators

These operators check whether the value is part of a sequence. The sequence can be a list, a string, or a tuple. There are only two such operators: in and not in.

In

Checks whether the value is a member of the sequence. In this example, you can see that the fox line is not in the list of pets. But cat is, so it returns True. Also, the string me is a substring of disappointment. Therefore, it will return True.
Example:

pets=['dog','cat', 'ferret']
'fox' in pets
False

'cat' in pets
True
'me' in 'disappointment'
True

Not in

This operator checks whether the value is not a member of the sequence.
Example:

'pot' not in 'disappointment'
True

Identity operators

These operators check whether the operands are the same (whether they occupy the same position in memory).

Is

If the operands are identical, then True will be returned. Otherwise, False. Here 2 is not 20, so False will be returned. But '2' is the same as "2". Different quotes do not change the objects themselves, so True will be returned.
Example:

2 is 20
False
'2' is "2"
True

Is not

2 is a number, and '2' is a string. Therefore, True will be returned.
Example:

2 is not '2'
True

Python Bitwise operators**

These operators work on the operands bit by bit.

Binary And (&)

Performs a bitwise and operation on two values. Here binary 2 is 10 and 3 is 11. The result of bitwise and is 10 - binary 2. Bitwise and over 011(3) and 100(4) yields the result 000(0).
Example:

2&3
2
3&4
0

Binary OR (|)

Performs a bitwise or operation on two values. Here or for 10(2) and 11(3) returns 11(3).
Example:

2|3
3

Binary OR NOT (^)

Performs a bitwise xor (exclusive or) operation on two values. Here the result OR NOT for 10(2) and 11(3) will be 01(1).
Example:

2^3
1

Inverting operator (~)

It returns inverted binary numbers. In other words, flips the bits. Bit 2 is 00000010. Its inverted version is 11111101. This is a binary -3. Therefore, the result is -3. Similarly, ~1 equals -2.
Example:

~-3
2

Once again, the inverted -3 is 2.

Binary left shift (<<)

It shifts the value of the left operand to the position indicated on the right. So, binary 2 is 10. 2 << 2 will shift the value two positions to the left and 1000 will come out — this is binary 8.
Example:

2<<2
8

Binary shift to the right (>>)

Shifts the value of the left operator to the position indicated on the right. So, binary 3 is 11. 3 >> 2 will shift the value two positions to the right. The result is 00, that is, 0. 3 >> 1 will shift one position to the right, and the result will be 01 - binary 1.
Example:

3>>2
3>>1
1

Conclusions

In this article, all 7 types of Python operators were considered. An example was offered for each in the IDE. To understand the specifics of the operators, you need to continue working with them, use them in conditional constructions and combine them.

FAQ

I am a beginner, how should I learn Python?

Look into the following series:

Would you mentor me?

Of course I am ready to participate in the training. The big difficulty is that English is not my native language and it will be possible to communicate through a translator

Would you like to collaborate on our organization?

If you have interesting ideas, we will be happy to invite your writing from our organization. Write in private messages or in social networks below

Connect to me on

21