आप यह समझना होगा कि None
, False
और True
सभी एकमात्र कर रहे हैं।
उदाहरण के लिए, if foo is not None
का अर्थ है कि foo
में None
के अलावा कुछ मूल्य है। यह if foo
जैसा ही काम करता है जो मूल रूप से if foo == True
है।
तो, not None
और True
वैसे ही काम करते हैं। इसके अलावा, None
और False
वही काम करते हैं।
>>> foo = not None
>>> bool(foo)
True
>>> foo = 5 # Giving an arbitrary value here
>>> bool(foo)
True
>>> foo = None
>>> bool(foo)
False
>>> foo = 5 # Giving an arbitrary value here
>>> bool(foo)
True
महत्वपूर्ण बात का एहसास करने और जब कोडिंग के बारे में पता होना करने के लिए है कि जब दो बातें की तुलना, None
जरूरत is
, लेकिन True
और False
जरूरत ==
है। if foo == None
से बचें और केवल if foo is None
करें और if foo != None
से बचें और केवल if foo is not None
करें। if foo is not None
के मामले में, बस if foo
करें। if foo is None
के मामले में, बस if not foo
करें।
नोट: True
मूल रूप से 1
और False
मूल रूप से 0
है। पायथन के पुराने दिनों में, हमारे पास सत्य के मूल्य के लिए केवल 1
था और हमारे पास झूठे मूल्य के लिए 0
था। यह 1
के बजाय True
कहने के लिए और अधिक समझने योग्य और मानव-अनुकूल है और 0
के बजाय False
कहने के लिए अधिक समझने योग्य और मानव-अनुकूल है।
स्रोत
2017-11-18 13:21:06
http://stackoverflow.com/questions/2017230/why-arent-and-and-or-operators-in-python और कई अन्य। –
पाइथन (यानी: और/या ऑपरेटरों) में ["बूलियन" संचालन के संभावित डुप्लिकेट (यानी: और/या ऑपरेटरों)] (http://stackoverflow.com/questions/3826473/boolean-operations-in-python-ie-the-and-or- ऑपरेटरों) –
@ सिलेंटगोस्ट: अगर किसी को भी गलत के रूप में नहीं माना जाता है, तो यह झूठी जगह के बजाय कोई भी क्यों नहीं लौटाता है? दो गलत मूल्यों पर लागू या लागू नहीं होना चाहिए गलत? – yoshi