< All Topics

Python Operators

Operators are the symbols that drive the logic of any programming language. They act as the engine for calculations, data manipulation, and decision-making.

1. Arithmetic Operators – Math

These operators perform standard mathematical calculations.

SymbolNameDescriptionExampleResult
+AdditionAdds two operands.5 + 38
SubtractionSubtracts the right operand from the left.10 – 28
*MultiplicationMultiplies two operands.4 * 28
/DivisionAlways returns a Float (decimal).10 / 25.0
//Floor DivisionDivision that rounds down to the nearest whole number.10 // 33
%ModulusReturns the Remainder of the division.10 % 31
**ExponentiationRaises the left operand to the power of the right ($x^y$).2 ** 38

The Power of Modulus %

The modulus operator is essential for logic, not just math.

  • Even/Odd Check: If number % 2 == 0, the number is Even.
  • Cyclic Indexing: If you want to loop through a list of 5 items continuously, use index % 5. The result cycles through 0, 1, 2, 3, 4, then resets to 0 automatically.

2. Assignment Operators

Used to assign and update values in variables.

OperatorLogicEquivalent To
=Assignx = 5
+=Add & Assignx = x + 3
-=Subtract & Assignx = x – 3
*=Multiply & Assignx = x * 3
/=Divide & Assignx = x / 3
%=Modulus & Assignx = x % 3

The Walrus Operator :=

A special operator that allows you to assign a value to a variable inside an expression (like an if statement).

# Instead of 2 lines:
# n = len(text)
# if n > 10: ...

# Do it in 1 line:
if (n := len(text)) > 10:
    print(f"Too long: {n} chars")

3. Comparison Operators

Used to compare two values. They always return a Boolean (True or False).

SymbolNameLogic
==EqualTrue if values are identical.
!=Not EqualTrue if values are different.
>Greater Than5 > 3 is True.
<Less Than5 < 8 is True.
>=Greater or Equal5 >= 5 is True.
<=Less or Equal4 <= 5 is True.

Chained Comparisons

Python allows math-like chaining, which is cleaner than using multiple and statements.

x = 10
# Clean Pythonic way
if 5 < x < 20:
    print("x is between 5 and 20")

4. Logical Operators

Used to combine conditional statements. These follow Boolean logic.

OperatorDescriptionLogic Rule
andReturns True if BOTH statements are true.T + T = T
orReturns True if AT LEAST ONE statement is true.T + F = T
notReverses the result.True → False

Short-Circuit Evaluation

Python evaluates logic lazily to save resources.

  • and Short-Circuit: If the first condition is False, Python stops immediately (result is definitely False).
  • or Short-Circuit: If the first condition is True, Python stops immediately (result is definitely True).

Real World Use: Preventing crashes.

# Safe Code
# Python checks 'len > 0' first. If False, it never runs index[0], preventing a crash.
if len(my_list) > 0 and my_list[0] == "Admin":
    print("Welcome Admin")

5. Identity Operators is

Used to compare Objects (Memory), not just Values (Data).

OperatorDescription
isTrue if both variables point to the same object in memory.
is notTrue if they point to different objects.

The Trap: is vs ==

  • == checks Content: “Do these variables hold the same data?”
  • is checks Address: “Do these variables point to the exact same memory slot?”
list1 = [1, 2, 3]
list2 = [1, 2, 3] # A copy

print(list1 == list2) # True (Data is same)
print(list1 is list2) # False (They are two different lists in memory)

6. Membership Operators in

Used to test if a sequence (List, String, Tuple, Dict) contains a specific value.

OperatorDescriptionExample
inTrue if value is found.“a” in “apple”
not inTrue if value is NOT found.“x” not in “apple”

7. Bitwise Operators

Used to manipulate data at the binary level (bits). Critical for permissions, encryption, and low-level optimization.

OperatorNameExample (x=5 (0101), y=3 (0011))Result
&ANDx & y (Both bits must be 1)0001 (1)
``OR`x
^XORx ^ y (Only one bit is 1)0110 (6)
~NOT~x (Invert all bits)-(x+1)
<<Left Shiftx << 1 (Push zeros from right)1010 (10)
>>Right Shiftx >> 1 (Push bits off right)0010 (2)

8. Operator Precedence

When multiple operators appear in one line, Python follows a strict hierarchy.

PriorityOperatorDescription
1 (Highest)( )Parentheses (Grouping)
2**Exponentiation (Power)
3+x, -x, ~xUnary Plus, Unary Minus, Bitwise NOT
4*, /, //, %Multiplication, Division, Floor Division, Modulus
5+, –Addition, Subtraction
6<<, >>Bitwise Shifts (Left/Right)
7&Bitwise AND
8^Bitwise XOR
9``
10==, !=, >, >=, <, <=, is, is not, in, not inComparisons, Identity, Membership
11notLogical NOT
12andLogical AND
13 (Lowest)orLogical OR

9. Operator Overloading – Magic Methods

You can change how operators behave for your own custom classes. For example, if you create a Wallet class, you can teach Python how to add two wallets together using +.

You define special methods (Double Underscore or “Dunder” methods):

  • __add__ handles +
  • __sub__ handles –
  • __eq__ handles ==
class Wallet:
    def __init__(self, money):
        self.money = money

    # Teach Python what to do when we use '+' on Wallets
    def __add__(self, other):
        return Wallet(self.money + other.money)

w1 = Wallet(50)
w2 = Wallet(100)
w3 = w1 + w2  # Python calls w1.__add__(w2)

print(w3.money) # Output: 150

Contents
Scroll to Top