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

السؤال

نشر

لدي هذا الكود اعطى خطأ و احتاج معرفة هل الكائن a لديه الخاصية property قبل ان استخدمها

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'

 

Recommended Posts

  • 0
نشر

يمكنك استخدام دالة

hasattr()

بهذا الشكل 

if hasattr(a, 'property'):
    a.property

ولكن إذا كنت تريد فقط قيمة attribute مع القيمة الافتراضية إذا لم تكن موجودة ، فإن الخيار الأفضل هو استخدام

getattr ()
getattr(a, 'property', 'default value')
property = getattr(a,"property",None)
    if property:
        print property

 

  • 0
نشر

ما تريدنه قريب من هذه الخاصيات 

getattr– تُستخدم هذه الوظيفة للوصول إلى property خاصة بكائن.
hasattr- تُستخدم هذه الوظيفة للتحقق مما إذا كانت property موجودة أم لا.
setattr - تُستخدم هذه الوظيفة لتعيين property. إذا كانت property غير موجودة ، فسيتم إنشاؤها.
delattr - تُستخدم هذه الوظيفة لحذف property.

hasattr تتحقق وترجع boolean يشير تواجد أو عدم تواجد ال property 

class example:
    name = 'Salah'
    color: "white"


e1 = example()
print(getattr(e1, 'name'))

print(hasattr(e1, 'name'))

setattr(e1, 'age', 44)
print(getattr(e1, 'age'))

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...