In this post, we are gonna discuss

- Python Operators, as well as,
- Different types of operators in Python.

## Operators in Python

- The operator is a special symbol that specifies which operations you will perform on the values of various data types.
- Python divides the operator's type into these categories:
- Arithmetic operators,
- Assignment operators,
- Comparison operators,
- Logical operators,
- Membership operator,
- Identity operators
- and Bitwise operators

### Arithmetic operators

Used with numeric values to perform mathematical operations.

**+ Operator (Addition)**

Addition operation " add value to another value".

**Ex:**

x = 5
y = 6
print(x + y) #the output will be 11

**- Operator (Subtraction)**

Used to subtract a value from another value.

**Ex:**

x = 5
y = 6
print(y - x)# the output will be 1

*** Operator (Multiplication)**

Used to multiply two values.

**Ex:**

x = 5
y = 6
print(x * y)# the output will be 30

**/ Operator (Division)**

Used to divide two values.

**Ex:**

x = 30
y = 6
print(x / y) # the output will be 5

**% Operator (Module)**

Return the division remainder.

**Ex:**

x = 5
y = 2
print(x % y)# the output will be 1

**** Operator (Exponentiation)**

Raises the first number to the power of the second.

**Ex:**

x = 2
y = 5
print(x ** y)# the output will be 32 same as 2*2*2*2*2

**// Operator (Floor division)**

Divides and returns the integer value of the quotient. It dumps the digits after the decimal.

**Ex**:

x = 15
y = 2
print(x // y)# the output will be 7

### Assignment operators

We will list some of the most used assignment operations:

**"= " The assignment operator **

Assigns the value of its right-hand operand to a variable.

**Ex:**

x=2
print(x)# the output will be 2

**+= The addition assignment operator**

Add a value to a variable in the same line.

**Ex:**

x=2
x+=1 # means x=x+1
print(x) # the output will be 3

**- = The subtraction assignment operator**

Add a value to a variable in the same line.

**Ex:**

x=2
x-=1 # means x=x-1
print(x) # the output will be 1

***= Operator "Multiply and Assign"**

**Ex:**

x=2
x*=2 # means x=x*2
print(x) # the output will be 4

**/= Operator "Divide ****and Assign"**

**Ex:**

x=2
x/=2 # means x=x/2
print(x) # the output will be 1

**%= Operator " Modulus ****and Assign"**

**Ex:**

x=5
x%=3 # means x=x%3
print(x) # the output will be 2

**//= Operator "Floor divide and Assign"**

**Ex:**

x=5
x//=3 # means x=x//3
print(x) # the output will be 1

****= Operator " Exponent ****and Assign"**

**Ex:**

x=5
x**=3 # means x=x**3
print(x) # the output will be 125

### Logical Operators

Logical operations used to perform logical operations such as AND operation "and", OR operation "or" and the "not" negation operation.

**AND Operator:**

- It gives true only if the two operands is true.
- If
**one **of the operands is **false**, the AND operator will evaluate it to **false.**

**Ex:**

x=5
print(x>2 and x<6)# the output will be true

** or Operator:**

- It gives true if one of the two operands at least is true.
- If the two operands are
**false**, the **OR **operator will evaluate it to **false.**

**Ex:**

x=5
print(x>2 || x<4) # the output will be true one condition is true x>2

**Negation Operator "not":**

It reverses the result, and it gives true if the result is false and false if the result is true.

**Ex:**

x=5
print(not(x>2 or x<4)) # the output will be false

### Comparison Operators

Comparison operators used to compare two values.

**"==" Equal to: **

**Ex:**

x=5
y=6
print(x == y) # the output will be false

**"!=" Not Equal to: **

**Ex:**

x=5
y=6
print(x != y) # the output will be true

**">" Greater than and "<" less than**

**Ex:**

x=5
y=6
print(x > y) # the output will be false
print(x<y) # the output will be true

**">=" Greater than or Equal and "<=" Less than or Equal**

**Ex:**

x=5
y=5
print(x >= y)# the output will be true
print(x <= y)# the output will be true

### Identity Operators

- Test if the two operands share an identity.
- Compare the objects, not if they are equal, but if they are actually the same object, with the same memory location
- Python divides them into "is" and "is not" operator.

**is operator**

x = ["red", "yellow"]
y = ["red", "yellow"]
z = x
print(x is y) # the output will be false even if they have the same content
print(x is z) # the output will be true

**is not operator**

x = ["red", "yellow"]
y = ["red", "yellow"]
z = x
print(x is not y) # the output will be true even if they have the same content
print(x is not z) # the output will be false

### Membership Operators

- These Python operators check if a value is a member of a sequence " string, list, tuple".
- There are two memberships operator in Python "in" and "not in".

**in operator**

- Checks if a value "sequence of value" is present in the sequence.
- It returns true if it found the value in the sequence otherwise it return false.

**Ex:**

x = ["red", "yellow"]
print("red" in x)#the output will be true as the sequence red is a member of the list.

**not in operator**

- Checks if a value "sequence of value" is not present in the sequence.
- It returns true if it didn't find the value in the sequence otherwise it returns false.

**Ex:**

x = ["red", "yellow"]
print("red" not in x)#the output will be false as the sequence red is a member of the list.

**Bitwise operators**

Used in the comparison of binary numbers.

**& operator "and"**

sets the bit to 1 if the two bits are 1 otherwise if **one **bit **at least** 0 then it sets the bit to 0

**Ex:**

print(2&3) #the output will be 2

since the binary for 2 is 10 and the binary for 3 is 11 then when " **and **" the bits of (2&3) it will be (10 &11) =(10) the bits of 2 so the result will be 2

**| operator "or"**

Sets the bit to 1 if **one **of the two bits** at least** is 1 otherwise if the two bits is 0 then it sets the bit to 0

**Ex:**

print(2|3) #the output will be 3

since the binary for 2 is 10 and the binary for 3 is 11 then when " **or **" the bits of (2|3) it will be (10 |11) =(11) the bits of 3 so the result will be 3.

**^ operator "xor:exclusive or"**

sets the bit to 1 if **only one **of the two bits** is **1 otherwise it will be 0.

**Ex:**

print(2^3) #the output will be 1

since the binary for 2 is 10 and the binary for 3 is 11 then when " **xor **" the bits of (2^3) it will be (10 ^11) =(01) the bits of 1 so the result will be 1.

**~ operator "binary one's complement"**

It inverts all the bits 1 to 0 and 0 to 1.

**Ex:**

print(~2) #the output will be -3

since the binary for 2 is 00000010 when " ~" the bits of (~2) it will be (11111101) the bits of -3 so the result will be -3.

**<< operator "binary left shift"**

x<<y It shifts the bits of the first operand x to the left numbers of placing depending on the second operand value y.

**Ex:**

print(2<<2) #the output will be 8

Since the binary for 2 is 00000010 when " <<" the bits of (<<<2) two places:

The second operand value here is 2" it will be (1000) the bits of 8. so the result will be 8.

**>> operator "binary right shift"**

x>>y It shifts the bits of the first operand x to the right numbers of placing depending on the second operand value y.

**Ex:**

print(3<<2) #the output will be 0

since the binary for 3 is 11 when " >>" the bits of (>>3) two places :the second operand value here is 2" it will be (00) the bits of 0 so the result will be 0.

### Conclusion

in this post we discussed Python operators:

- Arithmetic operators,
- Assignment operators,
- Comparison operators,
- Logical operators,
- Membership operator,
- Identity operators
- and Bitwise operators

### See also