## Python Logical Operators

Python Logical Operators take two conditional expressions as operands and return the logical operation as a result. For example

Condition1 = True

Condition2 = False

Condition1 and Condition2 (will return false)

Logical operators that Python supports are

Operators | Operations | Examples |
---|---|---|

and | Results True if both of the operand expressions are True Else returns False. | 3==3 and 4==5 (Returns False) 1<2 and 4>2 (Returns True) |

or | Returns True if either of the operand expressions is True Else returns False. |
3==3 or 4==5 (Returns True) 1<2 or 4>2 (Returns True) |

not | Returns the inverted expression result. |
not True (returns False) not 4==2+1 (returns True) |

## Bitwise Operators

This performs operations on their operands that change the state of their constituent bits (1s and 0s).

These are the bitwise operators available in Python are:

Operators | Operations | Examples |
---|---|---|

& | Returns 1 if both the operand bits are 1 Else returns 0. | 10101 & 10000 = 10000 11111 & 11001 = 11001 |

| | Returns 1 if either of the Operand bits is 1 Else returns 0. | 10101 | 10000 = 10101 11111 | 11001 = 11111 |

^ | Returns 1 if both the operand bits are different (either 1 and 0 or 0 and 1). Returns 0 if both bits are the same. | 10101 ^ 10000 = 00101 11111 ^ 11001 = 00110 |

~ | Returns the inverted Operand | ~11111 = 00000 ~01010 = 10101 |

>> | Shifts all the binary bits of the left operand to the right side as per the number of positions given by the right operand. | 8 >> 1 = 4 (1000 >> 1 = 0100) 12 >> 3 = 1 (1100 >> 3 = 0001) |

<< | Shifts all the binary bits of the left operand to the left side as per the number of positions given by the right operand. | 8 << 1 = 16 (1000 << 1 = 10000) 12 << 3 = 96 (1100 << 3 = 1100000) |