English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
مетод getattr() يعود قيمة الخاصية المسمى للعنصر. إذا لم يتم العثور عليها، فإنها تعود القيمة الافتراضية التي تقدمها للوظيفة.
يكون جملة getattr() كالتالي:
getattr(object, name[, default])
النحو المذكور أعلاه يساوي:
object.name
يأخذ getattr() عدة آراء:
object -العنصر الذي سيتم استدعاء خاصيته
name -نص يحتوي على اسم الخاصية
default (اختياري) -القيمة التي تعود عند عدم العثور على خاصية مسمى
يعود getattr() بالقيمة:
قيمة الخاصية المسماة للعنصر المحدد
default، إذا لم يتم العثور على خاصية مسمى
استثناء AttributeError، إذا لم يتم العثور على خاصية مسمى ولم يتم تعريف القيمة الافتراضية
فئة Person: age = 23 name = "Adam" person = Person() print('العمر هو:', getattr(person, "age")) print('العمر هو:', person.age)
عند تشغيل هذا البرنامج، الناتج سيكون:
العمر هو: 23 العمر هو: 23
فئة Person: age = 23 name = "Adam" person = Person() # عند تقديم القيمة الافتراضية print('الجنس هو:', getattr(person, 'sex', 'Male')) # عند عدم تقديم القيمة الافتراضية print('الجنس هو:', getattr(person, 'sex'))
عند تشغيل هذا البرنامج، الناتج سيكون:
الجنس هو: Male AttributeError: 'Person' object has no attribute 'sex'
الخصائص المسمى sex غير موجودة في فئة Person. لذلك، عند استدعاء getattr() مع القيمة الافتراضية Male، سيتم إرجاع Male.
لكن، إذا لم نقدم أي قيم افتراضية، فإنه سيتم إطلاق استثناء AttributeError عند عدم العثور على الخاصية المسمى sex، مما يعني أن العنصر ليس له خاصية sex.