क्या मुझे परीक्षण करना चाहिए कि if
कुछ वैध है या केवल try
इसे करना है और अपवाद को पकड़ना है?
- क्या कोई ठोस दस्तावेज यह कह रहा है कि एक तरह से पसंद किया जाता है?
- एक तरह से अधिक पायथोनिक है ?
उदाहरण के लिए, क्या मुझे:
if len(my_list) >= 4:
x = my_list[3]
else:
x = 'NO_ABC'
या:
try:
x = my_list[3]
except IndexError:
x = 'NO_ABC'
कुछ विचार ...
PEP 20 कहते हैं:
त्रुटियों को कभी भी चुपचाप नहीं गुजरना चाहिए।
जब तक स्पष्ट रूप से चुप नहीं कराया जाता।
क्या चुपचाप गुज़रने में त्रुटि के रूप में व्याख्या try
करने के बजाय उपयोग करना चाहिए if
? और यदि हां, तो क्या आप इसे इस तरह से उपयोग करके स्पष्ट रूप से चुप करा रहे हैं, इसलिए इसे ठीक बना रहे हैं?
मैं उन स्थितियों का उल्लेख नहीं कर रहा हूं जहां आप केवल 1 तरीके से काम कर सकते हैं; उदाहरण के लिए:
try:
import foo
except ImportError:
import baz
if index in mylist
परीक्षण wether सूचकांक mylist का एक तत्व है, संभव सूचकांक नहीं। आपif index < len(mylist)
इसके बजाय चाहते हैं।