क्या my_var
कोई नहीं हो सकता है जब निम्न प्रारूप का उपयोग करने के लिए यह बुरा अभ्यास है?क्या बयानों में स्थिति मूल्यांकन आदेश पर भरोसा करना सुरक्षित है?
if my_var and 'something' in my_var:
#do something
मुद्दा यह है कि 'something' in my_var
एक लेखन त्रुटि फेंक देंगे अगर my_var कोई नहीं है।
या मैं इस्तेमाल करना चाहिए:
if my_var:
if 'something' in my_var:
#do something
या
try:
if 'something' in my_var:
#do something
except TypeError:
pass
सवाल है, इसके बाद के संस्करण की जो अजगर में सबसे अच्छा अभ्यास (यदि हो तो) है अलग तरीके से व्यक्त करने के लिए?
विकल्प स्वागत है!
जब मुझे दूसरे की तरह कोड दिखाई देता है, तो मुझे लगता है कि कोडर समझ में नहीं आया कि शॉर्ट-सर्किट मूल्यांकन कैसे काम करता है। – Dana
-1: प्रलेखन से कोई उद्धरण नहीं: http://docs.python.org/library/stdtypes.html#boolean-operations-and-or-not –
@cfi: चूंकि मैं उत्तर परिवर्तन के बाद अपना वोट बदल सकता हूं, मैं अस्पष्ट हूं कि समस्या क्या है। –