Operators in Python

Python operators are symbols that perform operations on variables and values. Here's a breakdown of the main types:

### 1. **Arithmetic Operators**
   - `+`: Addition
   - `-`: Subtraction
   - `*`: Multiplication
   - `/`: Division (returns float)
   - `%`: Modulus (remainder)
   - `**`: Exponentiation (e.g., `2 ** 3 = 8`)
   - `//`: Floor Division (returns integer, rounds down).

### 2. **Comparison (Relational) Operators**
   - `==`: Equal to
   - `!=`: Not equal to
   - `>`: Greater than
   - `<`: Less than
   - `>=`: Greater than or equal to
   - `<=`: Less than or equal to.

### 3. **Logical Operators**
   - `and`: True if both operands are true.
   - `or`: True if at least one operand is true.
   - `not`: Inverts the boolean value (e.g., `not True → False`).

### 4. **Assignment Operators**
   - `=`: Assign value (e.g., `x = 5`).
   - Compound operators: `+=`, `-=`, `*=`, `/=`, `%=`, `**=`, `//=`, etc.  
     Example: `x += 3` is equivalent to `x = x + 3`.

### 5. **Bitwise Operators**
   - `&`: Bitwise AND
   - `|`: Bitwise OR
   - `^`: Bitwise XOR
   - `~`: Bitwise NOT (inverts bits)
   - `<<`: Left shift (e.g., `5 << 1` shifts bits left by 1 → `10`).
   - `>>`: Right shift (e.g., `5 >> 1` shifts bits right by 1 → `2`).

### 6. **Membership Operators**
   - `in`: True if a value exists in a sequence (e.g., `2 in [1, 2, 3] → True`).
   - `not in`: True if a value does not exist in a sequence.

### 7. **Identity Operators**
   - `is`: True if two variables reference the same object in memory.
   - `is not`: True if two variables reference different objects.  
     Example:  
     ```python
     a = [1, 2]
     b = a
     c = [1, 2]
     print(a is b)  # True (same object)
     print(a is c)  # False (different objects, even if values match)
     ```

### 8. **Ternary Conditional Operator**
   - Syntax: `x = a if condition else b`.  
     Example:  
     ```python
     age = 20
     status = "Adult" if age >= 18 else "Minor"  # "Adult"
     ```

### 9. **Walrus Operator (:=)**
   - Assignment expression (Python 3.8+). Assigns values as part of an expression.  
     Example:  
     ```python
     if (n := len([1, 2, 3])) > 2:
         print(n)  # Output: 3
     ```

### Operator Precedence (Highest to Lowest)
1. Parentheses `()`
2. Exponentiation `**`
3. Unary operators (`+x`, `-x`, `~x`)
4. Multiplication/Division: `*`, `/`, `//`, `%`
5. Addition/Subtraction: `+`, `-`
6. Bitwise shifts: `<<`, `>>`
7. Bitwise AND `&`
8. Bitwise XOR `^`
9. Bitwise OR `|`
10. Comparison: `==`, `!=`, `>`, `<`, `>=`, `<=`
11. Identity: `is`, `is not`
12. Membership: `in`, `not in`
13. Logical NOT `not`
14. Logical AND `and`
15. Logical OR `or`
16. Assignment operators: `=`, `+=`, `-=`, etc.

### Example Usage
```python
# Arithmetic
print(10 // 3)    # 3 (floor division)
print(2 ** 3)     # 8 (exponentiation)

# Logical
print(True and False)  # False

# Membership
print("a" in "apple")  # True

# Identity
a = 5
b = 5
print(a is b)  # True (small integers are interned in Python)
```

Understanding operators and their precedence is key to writing efficient and bug-free Python code. Use parentheses to clarify complex expressions!

Comments

Popular posts from this blog

Kotlin Math Operations and Functions Overview

Wear OS Android UI Application in Kotlin

Kotlin Android Program (QCR) Application Codes That Read Text in Photos