اذهب إلى المحتوى

السؤال

نشر

هل  من طريقة للتأكد أن كائن -object- يتوفر على خاصية ما -attribute- على لغة البرمجة Python، مثال:

>>> a = SomeClass()
>>> a.someProperty = value
>>> a.property
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: SomeClass instance has no attribute 'property'

كيف أتأكد أن a تتوفر على خاصية property؟ حتى لا أحصل على خطأ كما هو مبين في الكود أعلاه؟

Recommended Posts

  • 0
نشر

على لغة Python توجد دالة hasattr  والتي من شأنها التأكد من توفّر كائن على خاصية ما، أي هل تمّ تعريف الخاصية عند إنشاء الكلاس الأم ، وفي ما يلي شرح وإعطاء بعض الأمثلة لكيفية استخدامها:

  • غالبا ما تستخدم هذه الدالة مع دالة التأكد if والتي يكون ناتجها من نوع boolean أي True أو False.
if hasattr(a, 'property'):
    a.property

في المثال التالي، يتم إنشاء كائن من كلاس معينة ثم التأكد من وجود الخاصية بهذا الكائن، مع إبراز لقيمة boolean المحصّل عليها: 

>>> class A(object):
...   foo = 1
...
>>> class B(A):
...   pass
...
>>> b = B()
>>> hasattr(b, 'foo')
True
>>> 'foo' in b.__dict__
False

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...