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

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

نشرت في 2025-02-04
تصفح:399

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

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

الحل: الاستفادة من وظيفة hasattr () تأكد مما إذا كان الكائن يمتلك السمة المطلوبة. يتضمن هذا النهج تحديد الكائن والسمة التي ترغب في التحقق منها ، كما هو موضح أدناه:
>>> a = SomeClass()
>>> a.property
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: SomeClass instance has no attribute 'property'
إذا كانت Hasattr (A ، 'Property'): A.Property

اعتبارات بديلة

يجدر تسليط الضوء على نهج "اسأل عن المغفرة" الذي اقترحه Zweiterlinde ، والذي يعتبر اتفاقية بيثون. يستلزم ذلك محاولة الوصول إلى السمة والتعامل مع أي استثناء محتمل ، كما هو موضح في المثال التالي:
>>> a = SomeClass()
>>> a.property
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: SomeClass instance has no attribute 'property'
حاول: A.Property ما عدا نمة: # تعامل مع غياب السمة "الخاصية"

تحسين الأداء

احتمال توافر السمة. إذا كان من المتوقع أن يكون العقار موجودًا في معظم الحالات ، فقد يكون وصفه مباشرة أكثر كفاءة. ومع ذلك ، عندما يكون من المحتمل أن تكون العقار غائبًا بشكل متكرر ، قد يكون من الأفضل منع Hasattr () لمنع معالجة الاستثناءات المفرطة.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3