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 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 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 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 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 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