# Python Operators

Filed Under: Python

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

OperatorDescriptionExample
used for subtractiondifference = 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
‘HiHiHiHiHi’

/used to divide two numbersdiv = b/a
%modulus operator, returns the remainder of divisionmod = a%b
**exponent operator
``````
#create two variables
a=100
b=200

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

OperatorDescriptionExample
==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
``````
# 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)
`````` Python Comparison Operators

## Python Bitwise Operators

OperatorDescriptionExample
&Binary AND Operatorx = 10 & 7 = 2
|Binary OR Operatorx = 10 | 7 = 15
^Binary XOR Operatorx = 10 ^ 7 = 13
~Binary ONEs Compliment Operatorx = ~10 = -11
<<Binary Left Shift operatorx = 10<<1 = 20
>>Binary Right Shift Operatorx = 10>>1 = 5
``````
#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)
`````` Python Bitwise Operators

## Python Logical Operators

OperatorDescriptionExample
andLogical AND Operatorflag = exp1 and exp2
orLogical OR Operatorflag = exp1 or exp2
notLogical NOT Operatorflag = not(True) = False
``````
#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

OperatorDescription
+=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)
``````

# 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))
`````` 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:

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

1. Parenthesis – `()`
2. Exponentiation – `**`
3. Compliment, unary plus and minus – `~`, `+`, `-`
4. Multiply, Divide, modulo – `*`, `/`, `%`
5. Addition and Subtraction – `+`, `-`
6. Right and Left Shift – `>>`, `<<`
7. Bitwise AND – `&`
8. Bitwise OR and XOR – `|`, `^`
9. Comparison Operators – `==`, `!=`, `>`, `<`, `>=`, `<=`
10. Assignment Operator- `=`
You can checkout more Python examples from our GitHub Repository.

Reference: Official Python Documentation

1. Lee says:

For Python Logical Operators Section, upon running the example I receive this error: Traceback (most recent call last):
File “C:\Users\leeri\OneDrive\Documents\Python\Python Tutorial Codes.py”, line 249, in
a = int(input())
ValueError: invalid literal for int() with base 10: ” Do you know what I am doing wrong?

1. Pankaj says:

You have to enter an integer, looks like you are entering non-int value.

1. Lee says: