# Python Operators

An operator oprforms mathematical and logical operations on given operands.

Python divides the operators in the following groups:

• Arithmetic operators
• Assignment operators
• Comparison operators
• Logical operators
• Identity operators
• Membership operators
• Bitwise operators
• Ternary operator

## Python Arithmetic Operators

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

Operator Name Example
`+` Addition 5 + 5
`-` Subtraction 5 - 3
`*` Multiplication 5 * 3
`/` Division 5 / 3
`%` Modulus 15 % 2
`**` Exponentiation 5**3 will return 125
`//` Floor division 16 / 2 will gave 5.33
16 // 2 will gave 5

## Python Assignment Operators

Assignment operators are used to assign values to variables:

Operator Example Same As
`=` x = 5 x = 5
`+=` x += 3 x = x + 3
`-=` x -= 3 x = x - 3
`*=` x *= 3 x = x * 3
`/=` x /= 3 x = x / 3
`%=` x %= 3 x = x % 3
`//=` x //= 3 x = x // 3
`**=` x **= 3 x = x ** 3
`&=` x &= 3 x = x & 3
`|=` x |= 3 x = x | 3
`^=` x ^= 3 x = x ^ 3
`>>=` x >>= 3 x = x >> 3
`<<=` x <<= 3 x = x << 3

## Python Comparison Operators

Comparison operators are used to compare two values:

Operator Name Example
`==` Equal x = y
`!=` Not equal x != y
`<>` Not equal x <> y
`>` Greater than x > y
`<` Less than x < y
`>=` Greater than or equal to x >= y
`<=` Less than or equal to x <= y

## Python Logical Operators

Logical operators are used to combine conditional statements:

Operator Description Example
`and ` Returns True if both statements are true x < 5 and  x < 10
`or` Returns True if one of the statements is true x < 5 or x < 4
`not` Reverse the result, returns False if the result is true not(x < 5 and x < 10)

## Python Identity Operators

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 Description Example
`is ` Returns true if both variables are the same object x is y
`is not` Returns false if both variables are the same object x is not y

## Python Membership Operators

Membership operators are used to test if a sequence is presented in an object:

Operator Description Example
`in ` Returns True if a sequence with the specified value is present in the object x in y
`not in` Returns False if a sequence with the specified value is present in the object x not in y

## Python Bitwise Operators

Logical operators are used to combine conditional statements:

Operator Name Description
`& ` AND Sets each bit to 1 if both bits are 1
`|` OR Sets each bit to 1 if one of two bits is 1
` ^` XOR Sets each bit to 1 if only one of two bits is 1
`~ ` NOT Inverts all the bits
`<<` Zero fill left shift Shift left by pushing zeros in from the right and let the leftmost bits fall off
`>>` Signed right shift Shift right by pushing copies of the leftmost bit in from the left, and let the rightmost bits fall off

## Python Ternary Operator

Ternary operators also known as conditional expressions are operators that evaluate something based on a condition being true or false.

It simply allows to test a condition in a single line replacing the multiline if-else making the code compact.

Syntax:
`[on_true] if [expression] else [on_false]`