Table of Contents
Introduction
Operators are the standard symbols used for performing operations on variable and value. For example, to add two values we use the arithmetic operator +, where symbol + signifies the specific meaning of addition.
Types of operators in Python
We have seven types of operators in Python. They are:
- Arithmetic operator
- Assignment operator
- Comparison operator
- Logical operator
- Identity operator
- Membership operator
- Bitwise operator
1. Arithmetic operator
The arithmetic operator includes:
Operator symbol | Operator name |
+ | Addition |
– | Subtraction |
* | Multiplication |
/ | Division |
% | Modulus |
// | Floor division |
** | Exponentiation |
Program:
print("Addition: 10 + 2 = ", (10+2)) print("Subtraction: 10 - 2 = ", (10-2)) print("Multiplication: 9 * 4 = ", (9*4)) print("Division: 10 / 2 = ", (10/2)) print("Modulus: 8 % 3 = ", (8%2)) print("Floor division: 25 // 2 = ", (25//2)) print("Exponentiation: 7 ** 2 = ", (7**2))
Output:
2. Assignment operator
Assignments operators are used to assign the values to variables in programming. It includes:
Operator symbol | Description |
= | Assign value to variable |
+= | Add right side value to left side and then assign the sum to left side variable. x += y => x = x+ y |
-= | Subtract right side value from left side and then assign the value to left variable. x -= y => x = x – y |
*= | Multiply right-side value from left side and then assign the value to left variable. x *= y => x = x * y |
/= | Divide right-side value from left side and then assign the value to left variable. x /= y => x = x / y |
%= | Compute modulus with left and right-side values and then assign the value to left variable. x %= y => x = x% y |
//= | Divide right-side value from left side and then assign the floor value to left variable. x //= y => x = x // y |
**= | Compute exponents using left and right-side values and assign the result to left variable. x **= y => x = x**y |
&= | Compute Bitwise AND on variables and assign to left variable. x &= y => x = x & y |
|= | Compute Bitwise OR on variables and assign to left variable. x |= y => x = x | y |
^= | Compute Bitwise xOR on variables and assign to left variable. x ^= y => x = x ^ y |
>>= | Compute Bitwise right shift on variables and assign to left variable. x >>= y => x = x >> y |
<<= | Compute Bitwise left shift on variables and assign to left variable. x <<= y => x = x << y |
3. Comparison operator
Comparison operators are used to compare values and variables and return True or False depending upon the outcome. It includes:
Operator symbol | Operator name |
== | Equal |
!= | Not Equal |
> | Greater than |
< | Less than |
>= | Greater than or equals |
<= | Less than or equals |
Program:
print("10>16 ? True:False =>", 10 > 16) print("10<16 ? True:False =>",10 < 16) print("8 == 3 ? True:False=>",8 == 3) print("3 != 4 ? True:False =>",3 != 4) print("6 >= 9 ? True:False =>",6 >= 9) print("6 <= 6 ? True:False =>",6 <= 6)
Output:
4. Logical operator
Logical operators combine conditional statements and perform Logical And, Logical OR and Logical Not.
Operator symbol | Operator name |
and | Logical and |
or | Logical or |
not | Logical not |
Program:
a = False b = True print(" a = False ; b = True") print("Output of Logical AND ", a and b) print("Output of Logical OR", a or b) print("Output of Logical NOT", not a)
Output:
5. Identity operator
Identity operator is used to check whether the objects are same not just only the value but whether they are having same memory location.
Operator symbol | Description |
is | If the objects are same, then returns true. |
is not | If the objects are different, then returns false. |
Program:
val1 = ["sample1", "sample2"] val2 = ["sample1", "sample2"] temp = val1 #val1 is same as temp, hence returns True print(val1 is temp) #val1 and val2 are different, hence returns True print( val1 is not val2) #val1 and val2 are different, hence returns False print(val1 is val2)
Output:
6. Membership operator
It is used to check whether the sequence is present in the object. Membership operator includes:
Operator symbol | Description |
in | If the specified value is present in the given sequence, then returns true. |
not in | If the specified value is not present in the given sequence, then returns true. |
Program:
ip_string = 'Program for membership operator' print('o' in ip_string) print('Program for membership' in ip_string) print('Program membership' not in ip_string) print('Program for membership' not in ip_string)
Output:
7. Bitwise operator
It is used to compare binary values. The bitwise operator includes:
Operator symbol | Description |
& | AND |
| | OR |
^ | XOR |
~ | NOT |
<< | Left shift |
>> | Signed right shift |
Program:
x = 34 y = 7 print("x = {0} ; y = {1}".format(x,y)) print("Bitwise AND operation: x & y = ", x & y) print("Bitwise OR operation: x | y = ", x | y) print("Bitwise NOT operation: ~x = ",~x) print("bitwise XOR operation: x ^ y = ",x ^ y) print("Bitwise right shift operation: x >> 2 = ", x >> 2) print("Bitwise left shift operation: x << 2 = ",x << 2)
Output:
Operator precedence and Associativity
When more than one operator is present in the expression, we check for the operator precedence to determine which operation to compute first.
When more than one operator with same precedence is present in the expression, operator associativity is used to determine in which direction to move (left to right or right to left) for calculation.
Operator | Description | Associativity |
() | Parenthesis | Left-to-right |
** | Exponent | Right-to-left |
*/% | Multiplication/Division/Modulus | Left-to-right |
+- | Addition/Subtraction | Left-to-right |
<< >> | Bitwise Left/Bitwise Right | Left-to-right |
< > <= >= |
Less than/ Greater than Less than or equal/Greater than or equal |
Left-to-right |
== != | Equal to/ Not equal to | Left-to-right |
Program: Operator Precedence
# ** has highes precedence hence it is calculated first, then / and at last + is calculated and output is returned=> 6**2 = 36 ; 36/4 = 9; 5 + 9 = 14 print("5 + 6 ** 2 / 4 = ",5 + 6 ** 2 / 4)
Output:
Program: Operator Associativity
print("Left-to-right associativity: 10 / 10 * 10 = ",10 / 10 * 10) print("Right-to-left associativity: 5 ** 2 ** 2 = ", 5 ** 2 ** 2)
Output:
0 Comments