Operators in Python: Arithmetic, Relational, Assignment, Logical and Bitwise
Print
14 min read
03 Mar 2023
Beginner
128 Views
Introduction
Are you constantly wondering what to do with programming including Python programming in particular? Have you been trying to understand concepts related to operators within the python programming language, but found yourself confused by all of its idiosyncrasies? Don’t worry, we’ve got your back. In this blog post, we will provide a comprehensive overview of some of the most common and powerful Python operators so that you got a crystal clear idea as soon as possible!
What are Operators in Python?
Operators have been a part of computer programming since the invention of programming languages. Python operators are not different than any other language. They are operators specific to the Python language and allow a programmer to perform operations on operators, variables, objects, and more. In Python, operators are used in expressions, where values such as numbers, strings, or others are manipulated and combined with operators to produce a result. With Python operators, users can do a variety of tasks such as creating complex mathematical equations that involve exponents and roots or adding strings together for concatenation. Users can also use these operators for comparisons such as equality or inequality which can yield true or false results. No matter what task it is given, operators in Python language help to make programming easier by providing the tools needed for calculations in an accessible format.
Types of Python Operators
Python language supports various types of operators, which are:
- Arithmetic Operators
- Comparison (Relational) Operators
- Assignment Operators
- Logical Operators
- Bitwise Operators
- Membership Operators
- Identity Operators
Python Arithmetic Operators
Python Arithmetic Operators provide a simple and intuitive way to do math in Python. By leveraging the Python language's powerful syntax and abstractions, Python Arithmetic Operators allow for quick setup and use of mathematical operations. There are some arithmetic operators those are Addition, Subtraction, Multiplication, Division, Modulus, Exponents, and Floor Division.
Operator | Name | Example |
+ | Addition | 10 + 20 = 30 |
- | Subtraction | 20 – 10 = 10 |
* | Multiplication | 10 * 20 = 200 |
/ | Division | 20 / 10 = 2 |
% | Modulus | 22 % 10 = 2 |
** | Exponent | 4**2 = 16 |
// | Floor Division | 9//2 = 4 |
Example
a = 21
b = 10
# Addition
print ("a + b : ", a + b)
# Subtraction
print ("a - b : ", a - b)
# Multiplication
print ("a * b : ", a * b)
# Division
print ("a / b : ", a / b)
# Modulus
print ("a % b : ", a % b)
# Exponent
print ("a ** b : ", a ** b)
# Floor Division
print ("a // b : ", a // b)
Output
a + b : 31
a - b : 11
a * b : 210
a / b : 2.1
a % b : 1
a ** b : 16679880978201
a // b : 2
Python Comparison Operators
Python comparison operators are a handy tool for developers who need to compare values and evaluate conditions within their python code. These operators allow you to determine the relative size of two or more items, or if they are equal. There are some comparison operators, those are equal, not equal, greater than, less than, greater than, or equal to, and less than or equal to.
Operator | Name | Example |
== | Equal | 4 == 5 is not true. |
!= | Not Equal | 4 != 5 is true. |
> | Greater Than | 4 > 5 is not true |
< | Less Than | 4 < 5 is true |
>= | Greater than or Equal to | 4 >= 5 is not true. |
<= | Less than or Equal to | 4 <= 5 is true. |
Example
a = 4
b = 5
# Equal
print ("a == b : ", a == b)
# Not Equal
print ("a != b : ", a != b)
# Greater Than
print ("a > b : ", a > b)
# Less Than
print ("a < b : ", a < b)
# Greater Than or Equal to
print ("a >= b : ", a >= b)
# Less Than or Equal to
print ("a <= b : ", a <= b)
Output
a == b : False
a != b : True
a > b : False
a < b : True
a >= b : False
a <= b : True
Python Assignment Operators
Python Assignment Operators are a key element in Python programming. They allow the programmer to create, manipulate and assign values to any Python variable in an efficient manner. Python Assignment Operators can be used in a variety of ways: they can perform basic math operations; they can assign multiple objects with one statement; they can assign unchanged input variables to different output locations; and many more ways.
Operator | Name | Example |
= | Assignment Operator | a = 10 |
+= | Addition Assignment | a += 5 (Same as a = a + 5) |
-= | Subtraction Assignment | a -= 5 (Same as a = a - 5) |
*= | Multiplication Assignment | a *= 5 (Same as a = a * 5) |
/= | Division Assignment | a /= 5 (Same as a = a / 5) |
%= | Remainder Assignment | a %= 5 (Same as a = a % 5) |
**= | Exponent Assignment | a **= 2 (Same as a = a ** 2) |
//= | Floor Division Assignment | a //= 3 (Same as a = a // 3) |
Example
# Assignment Operator
a = 10
# Addition Assignment
a += 5
print ("a += 5 : ", a)
# Subtraction Assignment
a -= 5
print ("a -= 5 : ", a)
# Multiplication Assignment
a *= 5
print ("a *= 5 : ", a)
# Division Assignment
a /= 5
print ("a /= 5 : ",a)
# Remainder Assignment
a %= 3
print ("a %= 3 : ", a)
# Exponent Assignment
a **= 2
print ("a **= 2 : ", a)
# Floor Division Assignment
a //= 3
print ("a //= 3 : ", a)
Output
a += 5 : 105
a -= 5 : 100
a *= 5 : 500
a /= 5 : 100.0
a %= 3 : 1.0
a **= 2 : 1.0
a //= 3 : 0.0
Python Bitwise Operators
Python Bitwise Operators are an essential part of the Python programming language. They allow a Python programmer to perform operations on variables that act like binary numbers, allowing them to manipulate and compare data. Python Bitwise Operators can help simplify programs and in some cases may even speed up code execution time, making it an invaluable tool for Python programmers.
Operator | Name | Example |
& | Binary AND | Sets each bit to 1 if both bits are 1 |
| | Binary OR | Sets each bit to 1 if one of the two bits is 1 |
^ | Binary XOR | Sets each bit to 1 if only one of two bits is 1 |
~ | Binary Ones Complement | Inverts all the bits |
~ | Binary Ones Complement | Inverts all the bits |
<< | Binary Left Shift | Shift left by pushing zeros in from the right and let the leftmost bits fall off |
>> | Binary Right Shift | Shift right by pushing copies of the leftmost bit in from the left, and let the rightmost bits fall off |
Example
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
# Binary AND
c = a & b # 12 = 0000 1100
print ("a & b : ", c)
# Binary OR
c = a | b # 61 = 0011 1101
print ("a | b : ", c)
# Binary XOR
c = a ^ b # 49 = 0011 0001
print ("a ^ b : ", c)
# Binary Ones Complement
c = ~a; # -61 = 1100 0011
print ("~a : ", c)
# Binary Left Shift
c = a << 2; # 240 = 1111 0000
print ("a << 2 : ", c)
# Binary Right Shift
c = a >> 2; # 15 = 0000 1111
print ("a >> 2 : ", c)
Output
a & b : 12
a | b : 61
a ^ b : 49
~a : -61
a >> 2 : 240
a >> 2 : 15
Python Logical Operators
Python has a great range of logical operators available to help get the most precise results when coding. These Python logical operators allow you to make evaluations based on many factors. They incorporate the use of different comparison symbols and values that return a Boolean value, which is either true or false. Python logical operators are an efficient tool in helping you write code as you can combine multiple expressions together in one statement.
Operator | Description | Example |
and Logical AND | If both of the operands are true then the condition becomes true. | (a and b) is true. |
or Logical OR | If any of the two operands is non-zero then the condition becomes true. | (a or b) is true. |
not Logical NOT | Used to reverse the logical state of its operand | Not(a and b) is false. |
Example
a = 20
b = 20
c = -10
if a > 0 and b > 0:
print("The numbers are greater than 0")
if a > 0 and b > 0 and c > 0:
print("The numbers are greater than 0")
else:
print("Atleast one number is not greater than 0")
Output
The numbers are greater than 0
Atleast one number is not greater than 0
Python Membership Operators
Python Membership Operators are the means of specifying membership in Python. This can be used to see if a particular value exists within a sequence such as sets, lists, or tuples. Python Membership Operators will also provide the index numbers and can serve as a Python shortcut for sorting through data quickly.
Operator | Description | Example |
in | Evaluates to true if it finds a variable in the specified sequence and false otherwise. | x in y, here in results in a 1 if x is a member of sequence y. |
not in | Evaluates to true if it does not find a variable in the specified sequence and false otherwise. | x not in y, here not in results in a 1 if x is not a member of sequence y. |
Example
a = 10
b = 20
list = [1, 2, 3, 4, 5 ];
if ( a in list ):
print "Line 1 - a is available in the given list"
else:
print "Line 1 - a is not available in the given list"
if ( b not in list ):
print "Line 2 - b is not available in the given list"
else:
print "Line 2 - b is available in the given list"
a = 2
if ( a in list ):
print "Line 3 - a is available in the given list"
else:
print "Line 3 - a is not available in the given list"
Output
Line 1 - a is not available in the given list
Line 2 - b is not available in the given list
Line 3 - a is available in the given list
Python Identity Operators
Python Identity Operators are a great way to check if two variables match exactly, down to their memory address. Python identity operators compare the memory locations of two Python objects and return a boolean value indicating whether they are the same object or not. This makes Python identity operators perfect for users looking for exact matches between variables in Python code.
Operator | Description | Example |
is | Evaluates to true if the variables on either side of the operator point to the same object and false otherwise | x is y, here are results in 1 if id(x) equals id(y) |
is not | Evaluates to false if the variables on either side of the operator point to the same object and true otherwise | x is not y, there are no results in 1 if id(x) is not equal to id(y). |
Example
a = 20
b = 20
if ( a is b ):
print "Line 1 - a and b have same identity"
else:
print "Line 1 - a and b do not have same identity"
if ( id(a) == id(b) ):
print "Line 2 - a and b have same identity"
else:
print "Line 2 - a and b do not have same identity"
b = 30
if ( a is b ):
print "Line 3 - a and b have same identity"
else:
print "Line 3 - a and b do not have same identity"
if ( a is not b ):
print "Line 4 - a and b do not have same identity"
else:
print "Line 4 - a and b have same identity"
Output
Line 1 - a and b have same identity
Line 2 - a and b have same identity
Line 3 - a and b do not have same identity
Line 4 - a and b do not have same identity
Python Operators Precedence
Sr.No. | Operator | 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' |
7. | ^ | | Bitwise exclusive `OR' and regular `OR' |
8. | <= < > >= | Comparison operators |
9. | <> == != | Equality operators |
10. | = %= /= //= -= += *= **= | Assignment operators |
11. | is is not | Identity operators |
12 | in not in | Membership operators |
13. | not or and | Logical operators |
Summary
In conclusion, we have learned about the various types of operators available in Python. We also learned the definition of the operator including its usage with the help of examples. I hope this article was helpful to you in understanding the concept better. If you have any doubts or queries feel free to ask. Don't forget to subscribe to my blog for more exciting content on Python. Thanks for reading!
Take our free skill tests to evaluate your skill!
In less than 5 minutes, with our skill test, you can identify your knowledge gaps and strengths.