"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية التحقق مما إذا كان كائن لديه سمة محددة في بيثون؟

كيفية التحقق مما إذا كان كائن لديه سمة محددة في بيثون؟

نشر في 2025-04-07
تصفح:610

How to Check if an Object Has a Specific Attribute in Python?

فكر في المثال التالي حيث تثير محاولة الوصول إلى خاصية غير محددة خطأً: >>> a = someclass () >>> A.Property Traceback (أحدث مكالمة أخيرة): ملف "" ، السطر 1 ، في AttributeerRor: لا يحتوي مثيل Someclass على سمة "خاصية"

يتضمن هذا النهج تحديد الكائن والسمة التي ترغب في التحقق منها ، كما هو موضح أدناه:

إذا كانت 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