فكر في المثال التالي حيث تثير محاولة الوصول إلى خاصية غير محددة خطأً: >>> a = someclass ()
>>> A.Property
Traceback (أحدث مكالمة أخيرة):
ملف "
إذا كانت Hasattr (A ، 'Property'): A.Property
>>> a = SomeClass() >>> a.property Traceback (most recent call last): File "", line 1, in AttributeError: SomeClass instance has no attribute 'property'
اعتبارات بديلة
يجدر تسليط الضوء على نهج "اسأل عن المغفرة" الذي اقترحه Zweiterlinde ، والذي يعتبر اتفاقية بيثون. يستلزم ذلك محاولة الوصول إلى السمة والتعامل مع أي استثناء محتمل ، كما هو موضح في المثال التالي:حاول: A.Property ما عدا نمة: # تعامل مع غياب السمة "الخاصية"
>>> a = SomeClass() >>> a.property Traceback (most recent call last): File "", line 1, in AttributeError: SomeClass instance has no attribute 'property'
تحسين الأداء إذا كان من المتوقع أن يكون العقار موجودًا في معظم الحالات ، فقد يكون وصفه مباشرة أكثر كفاءة. ومع ذلك ، عندما يكون من المحتمل أن تكون العقار غائبًا بشكل متكرر ، قد يكون من الأفضل منع Hasattr () لمنع معالجة الاستثناءات المفرطة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3