English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل الأساسيات في Python

تحكم العملية في Python

الوظائف في Python

أنواع البيانات في Python

عمليات ملفات Python

عناصر و كلاسس في Python

التاريخ والوقت في Python

معرفة متقدمة في Python

دليل Python

استخدام getattr() في Python و أمثلة

وظائف مدمجة بايثون

مетод getattr() يعود قيمة الخاصية المسمى للعنصر. إذا لم يتم العثور عليها، فإنها تعود القيمة الافتراضية التي تقدمها للوظيفة.

يكون جملة getattr() كالتالي:

getattr(object, name[, default])

النحو المذكور أعلاه يساوي:

object.name

معلمات getattr()

يأخذ getattr() عدة آراء:

  • object -العنصر الذي سيتم استدعاء خاصيته

  • name -نص يحتوي على اسم الخاصية

  • default (اختياري) -القيمة التي تعود عند عدم العثور على خاصية مسمى

قيمة getattr()

يعود getattr() بالقيمة:

  • قيمة الخاصية المسماة للعنصر المحدد

  • default، إذا لم يتم العثور على خاصية مسمى

  • استثناء AttributeError، إذا لم يتم العثور على خاصية مسمى ولم يتم تعريف القيمة الافتراضية

مثال 1: كيف يعمل getattr() في بايثون؟

فئة Person:
    age = 23
    name = "Adam"
person = Person()
print('العمر هو:', getattr(person, "age"))
print('العمر هو:', person.age)

عند تشغيل هذا البرنامج، الناتج سيكون:

العمر هو: 23
العمر هو: 23

مثال 2: استخدام getattr() عند عدم العثور على خاصية مسمى

فئة 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.

وظائف مدمجة بايثون