Logical operators — and, or, not, short-circuit evaluation
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 True → False, not False → True.

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
and= sab true;or= koi bhi true;not= palto.- Short-circuit: yeh ruk jaata hai jaise hi answer pata chal jaata hai aur ek operand return karta hai.
- Fallbacks ke liye
x or defaultuse karo, aur guard karne ke liyesafe_check and risky_check.
Flashcards
and kya return karta hai jab uska pehla operand falsy ho?
or kya return karta hai jab uska pehla operand truthy ho?
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?
(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
- Booleans and comparison operators —
True/Falseinputs produce karte hain - if-elif-else statements — jahan logical conditions use hoti hain
- Truthiness and falsy values — kya true/false count hota hai
- ^ ~) — logical ones se contrast
- Operator precedence — kyun
notandse tighter bind karta hai,andorse tighter - De Morgan's laws — compound conditions simplify karna