Operators are used to perform operations on variables and values.

For example:

Python divides the operators in the following groups:

- Arithmetic operators
- Assignment operators
- Comparision operators
- Logical operators
- Identity operators
- Membership operators
- Bitwise operators

Arithmetic operators are used with numeric values to perform common mathematical operations:

Operator | Meaning | Example |
---|---|---|

+ | Add two operands or unary plus | x + y+ 27 |

- | Subtract right operand from the left or unary minus | x - y- 27 |

* | Multiply two operands | x * y |

/ | Divide left operand by the right one (always results into float) | x / y |

% | Modulus - remainder of the division of left operand by the right | x % y (remainder of x/y) |

// | Floor division - division that results into whole number adjusted to the left in the number line | x // y |

** | Exponent - left operand raised to the power of right | x**y (x to the power y) |

```
x = 15
y = 4
# Output: x + y = 19
print('x + y =',x+y)
# Output: x - y = 11
print('x - y =',x-y)
# Output: x * y = 60
print('x * y =',x*y)
# Output: x / y = 3.75
print('x / y =',x/y)
# Output: x // y = 3
print('x // y =',x//y)
# Output: x ** y = 50625
print('x ** y =',x**y)
```

**Output**

x + y = 19 x - y = 11 x * y = 60 x / y = 3.75 x // y = 3 x ** y = 50625

Comparison operators are used to compare two values:

Operator | Meaning | Example |
---|---|---|

> | Greater than - True if left operand is greater than the right | x > y |

< | Less than - True if left operand is less than the right | x < y |

== | Equal to - True if both operands are equal | x == y |

!= | Not equal to - True if operands are not equal | x != y |

>= | Greater than or equal to - True if left operand is greater than or equal to the right | x >= y |

<= | Less than or equal to - True if left operand is less than or equal to the right | x <= y |

```
x = 10
y = 12
# Output: x > y is False
print('x > y is',x>y)
# Output: x < y is True
print('x < y is',x<y)
# Output: x == y is False
print('x == y is',x==y)
# Output: x != y is True
print('x != y is',x!=y)
# Output: x >= y is False
print('x >= y is',x>=y)
# Output: x <= y is True
print('x <= y is',x<=y)
```

**Output**

x > y is False x < y is True x == y is False x != y is True x >= y is False x <= y is True

Logical operators are used to combine conditional statements:

Operator | Meaning | Example |
---|---|---|

and | True if both the operands are true | x and y |

or | True if either of the operands is true | x or y |

not | True if operand is false (complements the operand) | not x |

```
x = True
y = False
print('x and y is',x and y)
print('x or y is',x or y)
print('not x is',not x)
```

**Output**

x and y is False x or y is True not x is False

Bitwise operators act on operands as if they were strings of binary digits. They operate bit by bit, hence the name.

Operator | Meaning | Example |
---|---|---|

& | Bitwise AND | x & y = 0 (`0000 0000` ) |

| | Bitwise OR | x | y = 14 (`0000 1110` ) |

~ | Bitwise NOT | ~x = -11 (`1111 0101` ) |

^ | Bitwise XOR | x ^ y = 14 (`0000 1110` ) |

>> | Bitwise right shift | x >> 2 = 2 (`0000 0010` ) |

<< | Bitwise left shift | x << 2 = 40 (`0010 1000` ) |

Assignment operators are used to assign values to variables:

`c = 27`

is a simple assignment operator that assigns the value 27 on the right to the variable `c` on the left.

There are various compound operators in Python like `c += 27`

that adds to the variable and later assigns the same. It is equivalent to `c = c + 27`

.

Operator | Example | Equivalent to |
---|---|---|

= | c = 27 | c = 27 |

+= | c += 27 | c = c + 27 |

-= | c -= 27 | c = c - 27 |

*= | c *= 27 | c = c * 27 |

/= | c /= 27 | c = c / 27 |

%= | c %= 27 | c = c % 27 |

//= | c //= 27 | c = c // 5 |

**= | c **= 27 | c = c ** 27 |

&= | c &= 27 | c = c & 27 |

|= | c |= 27 | c = c | 27 |

^= | c ^= 27 | c = c ^ 27 |

>>= | c >>= 27 | c = c >> 27 |

<<= | c <<= 27 | c = c << 27 |

Python language offers some special types of operators like the identity operator or the membership operator. They are described below with examples.

Identity operators are used to compare the objects, not if they are equal, but if they are actually the same object, with the same memory location:

Operator | Meaning | Example |
---|---|---|

is | True if the operands are identical (refer to the same object) | x is True |

is not | True if the operands are not identical (do not refer to the same object) | x is not True |

```
x1 = 5
y1 = 5
x2 = 'CODEMISTIC'
y2 = 'CODEMISTIC'
x3 = [1,2,3]
y3 = [1,2,3]
# Output: False
print(x1 is not y1)
# Output: True
print(x2 is y2)
# Output: False
print(x3 is y3)
```

**Output**

False True False

`in`

and `not in`

are the membership operators in Python. They are used to test whether a value or variable is found in a sequence string, list, tuple, set and dictionary.

In a dictionary we can only test for presence of key, not the value.

Operator | Meaning | Example |
---|---|---|

in | True if value/variable is found in the sequence | 5 in x |

not in | True if value/variable is not found in the sequence | 5 not in x |

```
x = 'Hello world'
y = {1:'a',2:'b'}
# Output: True
print('H' in x)
# Output: True
print('hello' not in x)
# Output: True
print(1 in y)
# Output: False
print('a' in y)
```

**Output**

True True True False