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

كيف أتأكد من توفر كائن على خاصية في Python؟

Badraoui

السؤال

هل  من طريقة للتأكد أن كائن -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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...