बुनियाद · #2 / 11

Operators + Boolean Logic

Comparison, identity, और सत्यता

यह क्यों मायने रखता है

निर्णय लेना और loops booleans पर टिके होते हैं। एक ग़लत comparison सब कुछ बिगाड़ देता है।

मूल विचार

Operators expressions को नए मानों में बदलते हैं। == मानों की समानता जाँचता है, is पहचान जाँचता है (memory में वही object)। Literals के लिए, 1 == 1.0 True है पर 1 is 1.0 False है।

अंकगणितीय operators

| Operator | अर्थ | | --- | --- | | + | जोड़ | | - | घटाव | | * | गुणा | | / | भाग (float) | | // | floor भाग | | % | शेषफल | | ** | घात |

/ हमेशा एक float लौटाता है (6 / 2 == 3.0); जब आपको पूर्णांक भागफल चाहिए तो // इस्तेमाल कीजिए। % शेषफल देता है — "क्या यह सम है?" और चक्रीय-index वाली समस्याओं का काम का घोड़ा।

आज़माकर देखिए

Python में सत्यता (truthiness): 0, "", [], {}, None सब falsy हैं। बाक़ी सब कुछ truthy है।

for v in [0, 1, "", "hi", [], [0], None, {}, {"k": 0}]:
  print(repr(v), "->", bool(v))
not loaded

Short-circuit evaluation: and पहला falsy operand लौटाता है (या आख़िरी मान); or पहला truthy लौटाता है।

print(0 or "fallback")   # 'fallback'
print(5 or "fallback")   # 5
print(0 and "blocked")   # 0
print(5 and "passed")    # 'passed'
not loaded

असली code में identity बनाम equality का चक्कर:

a = [1, 2, 3]
b = [1, 2, 3]
print(a == b)   # True  — same values
print(a is b)   # False — different objects
c = a
print(a is c)   # True  — same object
not loaded

झटपट जाँच

छोटे अभ्यास

क्या करें और क्या न करें

आम ग़लतियाँ

मुख्य बातें