boolean - Python things which are neither True nor False -


मैंने इसे अभी पाया:

  a = (none,) प्रिंट (a true है ) प्रिंट (ए झूठी) प्रिंट (ए == ट्रू) प्रिंट (ए == फॉल्स) प्रिंट (ए == कोई नहीं) प्रिंट (ए कोई नहीं है) अगर: प्रिंट "हैलो" यदि नहीं तो: प्रिंट "अलविदा" / Code>  

जो उत्पादन करता है:

  झूठी झूठी झूठी झूठी झूठी झूठी झूठी हैलो  

ऐसा न तो है, न ही सही और न ही बराबर है झूठी, लेकिन एक बयान में सच के रूप में कार्य करता है।

क्यों?

अपडेट:

वास्तव में, मैंने अभी महसूस किया है कि यह उतना अस्पष्ट नहीं है जितना मैंने सोचा था। मुझे एक = 2 ​​के लिए एक ही परिणाम मिलता है (यद्यपि एक = 0 या a = 1 के लिए नहीं, जो कि क्रमशः फल्स और ट्रू के बराबर माना जाता है)

a एक सदस्यीय ट्यूपल है, जो True के लिए मूल्यांकन करता है ऑब्जेक्ट की है है, इसलिए, आपको उन सभी परीक्षणों में गलत मिलता है == वस्तुओं की समानता का परीक्षण करें, इसलिए, आपको गलत फिर से मिलता है।

में यदि कथन __bool __ (या __ नाजरोज़ा __ ) ऑब्जेक्ट का मूल्यांकन करने के लिए प्रयोग किया जाता है, एक गैर खाली ट्यूपल के लिए इसे true वापस करना चाहिए, इसलिए आपको true । आशा है कि आपके प्रश्न का उत्तर देगा।

संपादित करें : कारण true और गलत के बराबर हैं 1 और 0 क्रमशः है क्योंकि bool प्रकार int प्रकार के उपवर्ग के रूप में लागू किया गया है।


Comments

Popular posts from this blog

asp.net - Javascript/DOM Why is does my form not support submit()? -

sockets - Delphi: TTcpServer, connection reset when reading -

javascript - Classic ASP "ExecuteGlobal" statement acting differently on two servers -