1.2.8 · HinglishIntroduction to Programming (Python)

Logical operators — and, or, not, short-circuit evaluation

1,858 words8 min readRead in English

1.2.8 · Coding › Introduction to Programming (Python)


Logical operators KYUN exist karte hain?

Asli decisions ek saath kai conditions par depend karte hain. "User ko andar aane do AGAR unke paas ticket hai AND woh 18 se upar hain." Ek boolean kaafi nahin; tumhe conditions ke beech jodne ki zaroorat hai. Logical operators wahi jod hain.


Har operator KYA karta hai (truth tables, derived)

Yaad karne ki jagah, tables ko banao meaning se.

and ka matlab hai dono. Toh yeh sirf us ek case mein true hai jab dono true hain:

A B A and B Kyun
T T T dono true → dono → haan
T F F B fail hua
F T F A fail hua
F F F dono fail hue

or ka matlab hai kam-az-kam ek. Toh yeh sirf tab false hai jab dono fail ho jaate hain:

A B A or B Kyun
T T T kam-az-kam ek
T F T A kaafi hai
F T T B kaafi hai
F F F kuch bhi true nahin

not bas palat deta hai: not TrueFalse, not FalseTrue.

Figure — Logical operators — and, or, not, short-circuit evaluation

Short-circuit evaluation KAISE kaam karta hai (core idea)

Hairaani bhari baat: and/or operands mein se ek return karte hain, zaroorat nahin True/False.

>>> "hello" and 42      # "hello" truthy hai → doosra return karo
42
>>> 0 and 42            # 0 falsy hai → 0 turant return karo, 42 kabhi nahi dekha
0
>>> "" or "default"     # "" falsy hai → doosre par aa jao
'default'
>>> "name" or "default" # "name" truthy hai → use return karo, ruko
'name'

Forecast-then-Verify

Recall Answer padhne se PEHLE output predict karo
print(3 and 0)        # ?
print(3 or 0)         # ?
print(not "")         # ?
print([] or "x" or 9) # ?
print(1 and 2 and 3)  # ?

Answers: 0 (3 truthy hai → doosra return karo), 3 (3 truthy hai → pehla return karo), True (empty string falsy → not palat deta hai), "x" ([] falsy, "x" truthy → ruko), 3 (sab truthy → aakhiri return karta hai).


Common mistakes (Steel-manned)


80/20 takeaway

  1. and = sab true; or = koi bhi true; not = palto.
  2. Short-circuit: yeh ruk jaata hai jaise hi answer pata chal jaata hai aur ek operand return karta hai.
  3. Fallbacks ke liye x or default use karo, aur guard karne ke liye safe_check and risky_check.

Flashcards

and kya return karta hai jab uska pehla operand falsy ho?
Woh pehla (falsy) operand, turant — doosra kabhi evaluate nahin hota (short-circuit).
or kya return karta hai jab uska pehla operand truthy ho?
Woh pehla (truthy) operand, turant — doosra skip ho jaata hai.
Python ki falsy values list karo.
False, 0, 0.0, "", [], {}, (), None.
3 and 0 kya hai?
0 (3 truthy hai toh doosra operand return karta hai).
3 or 0 kya hai?
3 (3 truthy hai toh pehla operand return karke ruk jaata hai).
De Morgan batao: not (A and B) barabar hai?
(not A) or (not B).
if user and user.name: safe kyun hai jab user None ho?
and falsy None par short-circuit karta hai, toh user.name kabhi access nahin hota → koi AttributeError nahin.
if x == 1 or 2: ek bug kyun hai?
Yeh (x==1) or 2 parse hota hai; 2 truthy hai toh yeh hamesha True hai. x == 1 or x == 2 use karo.
and aur & mein fark?
and logical hai (short-circuits, operand return karta hai); & integers par bitwise hai, no short-circuit.
[] or "x" or 9 kya return karta hai?
"x"[] falsy hai toh skip, "x" truthy hai toh ruko aur use return karo.

Recall Feynman: 12-saal ke bachche ko samjhao

Ek party ke bahar bouncer imagine karo. AND ke liye woh tumse do tests pass karvana chahta hai — ticket AND age. Jaise hi tum pehla test fail karte ho, woh checking band karke "nahin" kehta hai. OR ke liye woh achha hai: koi bhi ek test pass karo aur tum andar ho — toh jaise hi test ek pass hota hai woh doosre ki parwah nahin karta. NOT aaina hai: yeh bas ulta kehta hai. Aur Python ka bouncer purpose se lazy hai — woh usi pal ruk jaata hai jab use answer pata chal jaata hai, jo time bachata hai aur un cheezein ko touch karne se bachata hai jo explode kar sakti hain.

Connections

Concept Map

includes

includes

includes

combine

generalized to

derives

derives

relates via

linked by

linked by

uses

uses

checks

causes

Logical operators

and — both true

or — at least one

not — flip

Boolean True/False

Truthiness — truthy/falsy

Truth tables

De Morgan laws

Short-circuit evaluation

Returns an operand