Friday 15 April 2011

python - 'variable' or 'variable is not None' -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 12 जवाब
  • 12 जवाब
      चर = कोई भी   

    क्या एक विशिष्ट परिदृश्य में इन तीनों के बीच कोई अंतर है? अगर कोई अंतर नहीं है जो उपयोग करने के लिए अधिक उपयुक्त है?

      यदि वेरिएबल: प्रिंट "हैलो वर्ल्ड"   

    और

      यदि परिवर्तनीय कोई नहीं है: प्रिंट "हैलो वर्ल्ड"   

    और

      यदि वैरिएबल! = कोई नहीं: प्रिंट "हैलो वर्ल्ड"   

    कोई भी वैरिएबल के मामले में एक ही है?

    क्या है किसी विशिष्ट परिदृश्य में इन तीनों के बीच कोई अंतर क्या है?

    पहले पूछता है कि क्या चर कुछ गलत है यह परीक्षा कोई भी â गलत , 0 , कोई भी रिक्त अनुक्रम, आदि के अलावा सभी प्रकार की चीजों के लिए असफल हो जाएगी।

    दूसरा पूछता है कि क्या यह जादू सिंगलटन स्थिर कोई नहीं है। यह केवल कोई भी के लिए असफल नहीं होगा।

    तीसरा यह पूछता है कि क्या वह कुछ है जो खुद को कोई भी के बराबर मानता है या नहीं। यह धारक (कोई नहीं) के लिए असफल होगा, जहां धारक एक आवरण वर्ग है, जिनके उदाहरणों में वे जो भी हो रहे हैं के बराबर हैं। या कम से कम कोड एक्सएमएपल देने के लिए:

      वर्ग बेवकूफ (ऑब्जेक्ट): def __ne __ (स्वयं, अन्य): लौटें गलत चर = बेवक़ूफ़ ()   

    पिछले एक शायद ही उपयोगी है; वास्तव में, यदि आप कभी भी सोचते हैं कि आपको == कोई भी या ! = कोई भी को चेक करने की आवश्यकता नहीं है, और आप विशेष रूप से पारदर्शी-आच्छादन कक्षाएं नहीं बना रहे हैं या ऐसा कुछ भी , आप शायद वास्तव में चाहते थे कोई नहीं या कोई नहीं है लेकिन अन्य दो बहुत ही उपयोगी और सामान्य दोनों हैं।

    अगर कोई अंतर नहीं है जो उपयोग करने के लिए अधिक उपयुक्त है?

    ठीक है, एक अंतर है, और जो अधिक उपयुक्त है वह विशिष्ट उपयोग पर निर्भर करता है।

    प्रश्न के अंत में, ऐसा लगता है कि आप पूछ रहे होंगे कि क्या विशिष्ट मामले में कोई अंतर है जहां परिवर्तनीय निश्चित रूप से कोई नहीं है। उस मामले में, निश्चित रूप से तीनों के बीच कोई कार्यात्मक अंतर नहीं है। * उनमें से सभी को झूठा होने की गारंटी है, और इसलिए कुछ नहीं करें। इसका अर्थ है कि तीनों में से किसी में भी कोई अंतर नहीं है और कोई भी कोड नहीं लिखता है। कौन सा बहुत आसान, अधिक पठनीय और तेज़ है।

    * एक प्रदर्शन अंतर है? पहले एक LOAD_CONST को कोई भी नहीं है , या एक तुलना ऑपरेटर को कॉल करें और, भले ही आपने किसी भी तरह से कोई भी रिबंड करने में कामयाब हो या कोई भी स्थिर (शायद ctypes ?), पहले एक अभी भी काम करने की अधिक संभावना है। लेकिन इनमें से कोई भी कभी भी बात नहीं कर रहा है और, यदि वे करते हैं, तो फिर, कोई कोड बिल्कुल भी तेज और अधिक विश्वसनीय नहीं होगा।

No comments:

Post a Comment