क्या यह गारंटी है कि False == 0
और True == 1
, पायथन में (यह मानते हुए कि वे उपयोगकर्ता द्वारा आश्वस्त नहीं हैं)? उदाहरण के लिए, क्या यह किसी भी तरह से गारंटीकृत है कि निम्न कोड हमेशा वही परिणाम देगा, जो कि पायथन के संस्करण (मौजूदा और संभावित रूप से, भविष्य के दोनों) हैं?
0 == False # True
1 == True # True
['zero', 'one'][False] # is 'zero'
आधिकारिक दस्तावेज के किसी भी संदर्भ की बहुत सराहना की जाएगी!
संपादित करें : जैसा कि कई उत्तरों में उल्लेख किया गया है, से bool
विरासत में मिला है int
। सवाल इसलिए के रूप में पुनर्निर्मित किया जा सकता है: "प्रलेखन आधिकारिक तौर पर कहना है कि प्रोग्रामर, पूर्णांकों से इनहेरिट बूलियन्स पर भरोसा कर सकते है मूल्यों के साथ 0
और1
?"। यह प्रश्न मजबूत कोड लिखने के लिए प्रासंगिक है जो कार्यान्वयन विवरण के कारण विफल नहीं होगा!
sum(bool_list)
। अन्यथा, आपको लिखना होगा sum(1 for x bool_list if x)
।
bool_list.count(True)
यह अधिक स्पष्ट है; यह भी लगभग 3 गुना तेज है ... :)