] निम्नलिखित उदाहरण पर विचार करें जहां एक अपरिभाषित संपत्ति तक पहुंचने का प्रयास एक त्रुटि उठाता है:
>>> a = someclass ()
>>> a.property
ट्रेसबैक (सबसे हालिया कॉल लास्ट):
फ़ाइल "
समाधान: HasAttr () फ़ंक्शन
>>> a = SomeClass() >>> a.property Traceback (most recent call last): File "", line 1, in AttributeError: SomeClass instance has no attribute 'property'
यदि HasAttr (a, 'प्रॉपर्टी'): a.property
वैकल्पिक विचार
if hasattr(a, 'property'): a.propertyयह Zweiterlinde द्वारा सुझाए गए "क्षमा के लिए पूछें" दृष्टिकोण को उजागर करने के लायक है, जिसे एक पायथोनिक कन्वेंशन माना जाता है। यह विशेषता तक पहुंचने और किसी भी संभावित अपवाद को संभालने का प्रयास करता है, जैसा कि निम्नलिखित उदाहरण में देखा गया है:
प्रयास करें: एक संपत्ति ATTRIBUTERROR को छोड़कर: # 'संपत्ति' विशेषता
की अनुपस्थिति को संभालें
प्रदर्शन अनुकूलनif hasattr(a, 'property'): a.property
HASATTR () फ़ंक्शन के बीच उपयुक्त विकल्प और "क्षमा के लिए पूछें" दृष्टिकोण विशेषता उपलब्धता की संभावना पर निर्भर करता है। यदि संपत्ति को ज्यादातर उदाहरणों में मौजूद होने की उम्मीद है, तो इसे सीधे कॉल करना अधिक कुशल हो सकता है। हालाँकि, जब संपत्ति अक्सर अनुपस्थित होने की संभावना होती है, तो HasAttr () अत्यधिक अपवाद हैंडलिंग को रोकने के लिए बेहतर हो सकता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3