# Comparison Shorthand and Logical operators in Python

## Introduction

Welcome to the exciting world of Python operators! In this blog post, we’ll dive into three incredible types of operators: shorthand operators, comparison operators, and logical operators. Brace yourself for a fun-filled journey where we’ll demystify these operators, uncover their secrets, and show you how to wield them like a programming wizard. So, let’s get started!

## Shorthand Operators: The Magic Wands of Python

Shorthand operators in Python provide a concise way to perform arithmetic or logical operations and assign the result to a variable. They combine the operation and assignment in a single statement, making the code more compact and efficient. Here are the commonly used shorthand operators in Python:

The `+=` operator adds the value of the right operand to the left operand and assigns the result back to the left operand.

Syntax: `x += y`

Example:

x = 5
y = 3
x += y # Equivalent to x = x + y
print(x) # Output: 8

### Subtraction Assignment Operator (-=):

The `-=` operator subtracts the value of the right operand from the left operand and assigns the result back to the left operand.

Syntax: `x -= y`

Example

x = 10
y = 4
x -= y # Equivalent to x = x – y
print(x) # Output: 6

### Multiplication Assignment Operator (*=):

The `*=` operator multiplies the value of the left operand by the value of the right operand and assigns the result back to the left operand.

Syntax: `x *= y`

Example

x = 3
y = 5
x *= y # Equivalent to x = x * y
print(x) # Output: 15

### Division Assignment Operator (/=):

The `/=` operator divides the value of the left operand by the value of the right operand and assigns the result back to the left operand.

Syntax: `x /= y`

Example

x = 10
y = 2
x /= y # Equivalent to x = x / y
print(x) # Output: 5.0

### Floor Division Assignment Operator (//=):

The `//=` operator performs floor division on the left operand by the right operand and assigns the result back to the left operand. It discards the decimal part of the division result.

Syntax: `x //= y`

Example

x = 10
y = 3
x //= y # Equivalent to x = x // y
print(x) # Output: 3

### Modulus Assignment Operator (%=):

The `%=` operator calculates the remainder of the division of the left operand by the right operand and assigns the result back to the left operand.

Syntax: `x %= y`

Example

x = 10
y = 3
x %= y # Equivalent to x = x % y
print(x) # Output: 1

### Exponentiation Assignment Operator (**=):

The `**=` operator raises the value of the left operand to the power of the right operand and assigns the result back to the left operand.

Syntax: `x **= y`

Example

x = 2
y = 3
x **= y # Equivalent to x = x ** y
print(x) # Output: 8

These shorthand operators can be used with various data types in Python, including numbers and strings. They provide a convenient way to perform calculations and update variables in a concise manner. By using shorthand operators, you can write more efficient and readable code.

## Comparison Operators: The Quest for Truth

Comparison operators in Python are used to compare two values or variables and return a Boolean value (True or False) based on the result of the comparison. They are often used in conditional statements or loops to make decisions based on the comparison. Here are the commonly used comparison operators in Python:

### Equal to (==):

The `==` operator checks if the value of the left operand is equal to the value of the right operand.

Example

x = 5
y = 5
print(x == y) # Output: True

### Not equal to (!=):

The `!=` operator checks if the value of the left operand is not equal to the value of the right operand.

Example

x = 3
y = 5
print(x != y) # Output: True

### Greater than (>):

The `>` operator checks if the value of the left operand is greater than the value of the right operand.

Example

x = 7
y = 4
print(x > y) # Output: True

### Less than (<):

The `<` operator checks if the value of the left operand is less than the value of the right operand.

Example

x = 3
y = 5
print(x < y) # Output: True

### Greater than or equal to (>=):

The `>=` operator checks if the value of the left operand is greater than or equal to the value of the right operand.

Example

x = 5
y = 5
print(x >= y) # Output: True

### Less than or equal to (<=):

The `<=` operator checks if the value of the left operand is less than or equal to the value of the right operand.

Example

x = 3
y = 5
print(x <= y) # Output: True

These comparison operators can be used with various data types in Python, including numbers, strings, and other objects that support comparison. They allow you to perform checks and make decisions based on the comparison result, enabling you to create more dynamic and flexible code.

## Logical Operators: Unleashing the Power of Logic

Logical operators in Python are used to combine or modify the logical conditions and determine the overall truth value of a compound expression. They are typically used in conditional statements or loops to control the flow of the program based on multiple conditions. Here are the commonly used logical operators in Python:

### Logical AND (and):

The `and` operator returns `True` if both the left operand and the right operand are `True`. Otherwise, it returns `False`.

Example

x = 5
print(x > 0 and x < 10) # Output: True

### Logical OR (or):

The `or` operator returns `True` if at least one of the left operand or the right operand is `True`. If both operands are `False`, it returns `False`.

Example

x = 5
print(x > 10 or x < 20) # Output: True

### Logical NOT (not):

The `not` operator reverses the logical value of the operand. If the operand is `True`, it returns `False`. If the operand is `False`, it returns `True`.

Example

x = 5
print(not x > 10) # Output: True

## Example of using multiple Logical Operators

Logical operators are commonly used to create complex conditions by combining multiple expressions. Here’s an example that demonstrates the use of multiple logical operators:

x = 7
y = 5
z = 10

result = (x > y) and (z > y) # Checks if x is greater than y AND z is greater than y
print(result) # Output: True

result = (x > y) or (z < y) # Checks if x is greater than y OR z is less than y
print(result) # Output: True

result = not (x > y) # Negates the result of x > y
print(result) # Output: False

Logical operators allow you to combine conditions and make decisions based on the overall truth value of the expressions involved. They are powerful tools for controlling the flow of your program and creating flexible logic in your code.

## Wrap up

In conclusion, understanding and mastering shorthand, comparison, and logical operators in Python is a vital step towards becoming a proficient programmer. Shorthand operators allow us to perform calculations and assignments efficiently, reducing code clutter. Comparison operators empower us to make decisions based on the comparison of values, enabling dynamic and flexible code. Logical operators help us combine conditions and control the flow of our programs, offering powerful tools for complex decision-making. By leveraging the power of these operators, we unlock the potential to write cleaner, more concise, and effective code. So, embrace these operators, experiment with them, and embark on your coding adventures with confidence!