2012-11-15 28 views
13

संभव डुप्लिकेट:
Why can’t Python handle true/false values as I expect?यह सच है = पायथन 2.x में झूठी काम

एक बेवकूफ सवाल लगता है, लेकिन क्यों पायथन में निम्नलिखित बयान को स्पष्ट रूप से मना नहीं कर रहा है?

>> True=False 
>> True 
False 

कैसे True और False अजगर दुभाषिया द्वारा नियंत्रित किया जाता?

+0

यह मामूली में बेवकूफ नहीं है! – ApproachingDarknessFish

उत्तर

6

True, str या किसी अन्य बिल्टिन की तरह, केवल एक नाम है जो डिफ़ॉल्ट रूप से दायरे में मौजूद है। आप इसे किसी अन्य ऐसे नाम की तरह पुनर्जीवित कर सकते हैं।

+1

वास्तव में ओपी '__main __ बनाता है। सत्य'। '__builtin __। True' अभी भी – jfs

+2

' nonetaxError' में कोई नहीं = 42' परिणाम उपलब्ध है। उस नाम पर एक ही तर्क लागू क्यों नहीं होता है? – martineau

+0

@ मार्टिनौ: यह लागू होता है। सही/गलत पाइथन 3 में कीवर्ड हैं। बीटीडब्ल्यू, आप पाइथन 2.3 – jfs

2

पायथन वास्तव में बहुत कम reserved words है। बाकी सभी पुनर्वितरण के अधीन हैं। सावधान रहना आपके ऊपर निर्भर है!

+3

प्रश्न 2.7 था, लेकिन सिर्फ यह कहता है कि 3.x 'True' और 'गलत' में आरक्षित शब्दों के रूप में शामिल हैं और परिभाषित नहीं किया जा सकता है। –

+0

@ माही, यह स्वागत है समाचार। –

2
>>> True = False 
False 

ऊपर काम में, True किसी भी अन्य चर आप उपयोग की तरह एक चर रहा है। इसका दायरा मौजूदा दायरे तक ही सीमित है। तो आप नीचे दिए गए उदाहरण में किसी भी मान को असाइन कर सकते हैं। ध्यान दें कि तुलना 2 < 3 अभी भी True प्रिंट करती है, क्योंकि आपके पास अभी भी builtin तक पहुंच है।

>>> True = 3 
>>> True 
3 
>>> 2 < 3 
True 
1

टाइप

True = False 

आप एक नया चर यह सच है कहा जाता है, जो आपको गलत पर आवंटित मूल्य पैदा करते हैं।

अपने दूसरे प्रश्न का उत्तर देते हुए, ट्रू और फाल्स पूर्णांक 1 और 0 (तकनीकी रूप से बोलने वाले, उप-वर्ग) के अनुकूलित संस्करण हैं, जिनमें केवल एक अलग स्ट्रिंग प्रस्तुति है।