# Python Operators - A Quick Reference

Published on August 3, 2022 By Pankaj
Developer and author at DigitalOcean. While we believe that this content benefits our community, we have not yet thoroughly reviewed it. If you have any suggestions for improvements, please let us know by clicking the “report an issue“ button at the bottom of the tutorial.

Python operators allow us to do common processing on variables. We will look into different types of operators with examples and also operator precedence. They are the special symbols that can manipulate the values of one or more operands.

## List of Python Operators

Python operators can be classified into several categories.

• Assignment Operators
• Arithmetic Operators
• Logical Operators
• Comparison Operators
• Bitwise Operators

## Python Assignment Operators

Assignment operators include the basic assignment operator equal to sign (=).

But to simplify code, and reduce redundancy, Python also includes arithmetic assignment operators.

This includes the += operator in Python used for addition assignment, //= floor division assignment operator, and others.

Here’s a list of all the arithmetic assignment operators in Python.

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)

### Using assignment operators

``````
# 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 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
‘HiHiHiHiHi’
/ used to divide two numbers div = b/a
% modulus operator, returns the remainder of division mod = 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 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
``````
# 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 Bitwise Operators

Operator Description Example
& Binary AND Operator x = 10 & 7 = 2
Binary OR Operator
^ 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
``````
#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 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
``````
#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 Operator Precedence

Precedence of these 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- `=`

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases. Pankaj

author

Developer and author at DigitalOcean.

#### Still looking for an answer?

Ask a questionSearch for more help

JournalDev
DigitalOcean Employee June 10, 2020

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?

- Lee