Python operators allow us to do common processing on variables. We will look into different types of python operators with examples and also operator precedence.
Python Operators
Python Operators are the special symbols that can manipulate values of one or more operands.
Python Operator Types
Python operators can be classified into several categories.
- Arithmetic Operators
- Logical Operators
- Comparison Operators
- Bitwise Operators
- Assignment Operators
Python Arithmetic Operators
Operator | Description | Example |
---|---|---|
+ | used to add two numbers | sum = a + b |
– | used for subtraction | difference = a – b |
* | used to multiply two numbers. If a string and int is multiplied then the string is repeated the int times. | mul = a*b
>>> “Hi”*5 |
/ | used to divide two numbers | div = b/a |
% | modulus operator, returns the remainder of division | mod = a%b |
** | exponent operator |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#create two variables a=100 b=200 # addition (+) operator print(a+b) # subtraction (-) operator print(a-b) # multiplication (*) operator print(a*b) # division (/) operator print(b/a) # modulus (%) operator print(a%b) # prints the remainder of a/b # exponent (**) operator print(a**b) #prints a^b |
Output:
Python Arithmetic Operators
Python Comparison Operators
Operator | Description | Example |
---|---|---|
== | returns True if two operands are equal, otherwise False. | flag = a == b |
!= | returns True if two operands are not equal, otherwise False. | flag = a != b |
> | returns True if left operand is greater than the right operand, otherwise False. | flag = a > b |
< | returns True if left operand is smaller than the right operand, otherwise False. | flag = a < b |
>= | returns True if left operand is greater than or equal to the right operand, otherwise False. | flag = a > b |
<= | returns True if left operand is smaller than or equal to the right operand, otherwise False. | flag = a < b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# create two variables a=100 b=200 # (==) operator, checks if two operands are equal or not print(a==b) # (!=) operator, checks if two operands are not equal print(a!=b) # (>) operator, checks left operand is greater than right operand or not print(a>b) # (<) operator, checks left operand is less than right operand or not print(a<b) #(>=) operator, checks left operand is greater than or equal to right operand or not print(a>=b) # (<=) operator, checks left operand is less than or equal to right operand or not print(a<=b) <img class="alignnone wp-image-23093 size-full" src="https://all-learning.com/wp-content/uploads/2017/06/Python-Operators.png" alt="Python Operators" width="1200" height="1094" /> |
Python Comparison Operators
Python Bitwise Operators
Operator | Description | Example |
---|---|---|
& | Binary AND Operator | x = 10 & 7 = 2 |
| | Binary OR Operator | x = 10 | 7 = 15 |
^ | Binary XOR Operator | x = 10 ^ 7 = 13 |
~ | Binary ONEs Compliment Operator | x = ~10 = -11 |
<< | Binary Left Shift operator | x = 10<<1 = 20 |
>> | Binary Right Shift Operator | x = 10>>1 = 5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#create two variables a=10 # binary 1010 b=7 # binary 0111 # Binary AND (&) operator, done binary AND operation print(a&b) # Binary OR (|) operator, done binary OR operation print(a|b) # Binary XOR (^) operator, done binary XOR operation print(a^b) # Binary ONEs Compliment (~) operator, done binary One's Compliment operation print(~a) # Binary Left Shift (<<) operator, done binary Left Shift operation print(a<<1) # Binary Right Shift (>>) operator, done binary Right Shift operation print(a>>1) <img class="alignnone wp-image-23094 size-full" src="https://all-learning.com/wp-content/uploads/2017/06/Python-Bitwise-Operators.png" alt="Python Bitwise Operators" width="1200" height="628" /> |
Python Bitwise Operators
Python Logical Operators
Operator | Description | Example |
---|---|---|
and | Logical AND Operator | flag = exp1 and exp2 |
or | Logical OR Operator | flag = exp1 or exp2 |
not | Logical NOT Operator | flag = not(True) = False |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#take user input as int a=int(input()) # logical AND operation if a%4==0 and a%3==0: print("divided by both 4 and 3") # logical OR operation if a%4==0 or a%3==0: print("either divided by 4 or 3") # logical NOT operation if not(a%4==0 or a%3==0): print("neither divided by 4 nor 3") |
Python Logical Operators
Python Assignment Operators
Operator | Description |
---|---|
+= | a+=b is equivalent to a=a+b |
*= | a*=b is equivalent to a=a*b |
/= | a/=b is equivalent to a=a/b |
%= | a%=b is equivalent to a=a%b |
**= | a**=b is equivalent to a=a**b (exponent operator) |
//= | a//=b is equivalent to a=a//b (floor division) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# take two variable, assign values with assignment operators a=3 b=4 print("a: "+str(a)) print("b: "+str(b)) # it is equivalent to a=a+b a+=b print("a: "+str(a)) print("b: "+str(b)) # it is equivalent to a=a*b a*=b print("a: "+str(a)) print("b: "+str(b)) # it is equivalent to a=a/b a/=b print("a: "+str(a)) print("b: "+str(b)) # it is equivalent to a=a%b a%=b print("a: "+str(a)) print("b: "+str(b)) # it is equivalent to a=a**b ( exponent operator) a**=b print("a: "+str(a)) print("b: "+str(b)) # it is equivalent to a=a//b ( floor division) a//=b print("a: "+str(a)) print("b: "+str(b)) <img class="alignnone wp-image-23093 size-full" src="https://all-learning.com/wp-content/uploads/2017/06/Python-Operators.png" alt="Python Operators" width="1200" height="1094" /> |
Python Assignment Operators
Python Operator Precedence
Precedence of python operators means the priority level of operators. This becomes vital when an expression has multiple operators in it. For example consider the following expression:
1 2 3 |
>>> 2+3*4 |
Now, what do you think the series of operation would be? We can add 2 and 3, then multiply the result by 4. Also, we can multiply 3 and 4 first, then add 2 with it. Here we can see that the operators’ precedence is important.
Below is a list of operators indicating the precedence level. It’s in descending order. That means the upper group has more precedence than that of the lower group.
- Parenthesis –
()
- Exponentiation –
**
- Compliment, unary plus and minus –
~
,+
,-
- Multiply, Divide, modulo –
*
,/
,%
- Addition and Subtraction –
+
,-
- Right and Left Shift –
>>
,<<
- Bitwise AND –
&
- Bitwise OR and XOR –
|
,^
- Comparison Operators –
==
,!=
,>
,<
,>=
,<=
- Assignment Operator-
=
Reference: Official Python Documentation