الدالة setattr()‎ في بايثون

من موسوعة حسوب
مراجعة 13:56، 16 مايو 2018 بواسطة عبد-الهادي-الديوري (نقاش | مساهمات) (إضافة الصّفحة)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تُنشئ الدّالة setattr()‎ قيمة لخاصيّة كائن مُعيّن.

البنية العامة

setattr(object, name, value)

المعاملات

object

الكائن المُراد تعديل خاصيّة من خاصيّاته أو إضافة خاصّية جديدة إليه إن لم تكن موجودة مُسبقًا.

name

سلسلة نصيّة تُمثّل اسم الخاصيّة، يُمكن أن تكون الخاصيّة موجودة مُسبقًا (ستُغيّر قيمتها) أو غير موجودة (ما يعني أنّها ستُنشأ).

value

القيمة المرغوب إسنادها للخاصيّة.

القيمة المعادة

القيمة None.

ملاحظات

  • يجب على الكائن أن يسمح بتعديل خاصيّاته.
  • الاستدعاء ‎setattr‎(‎x,‎ ‎'foobar'‎, 123‎)‎ مُكافئ للجملة ‎x.‎‎foobar‎ ‎=‎‎ 123‎.

أمثلة

المثال التّالي يوضّح كيفيّة عمل هذه الدّالة:

>>> class A:
...     pass
... 
>>> A.x # الخاصيّة غير موجودة
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'A' has no attribute 'x'
>>> setattr(A, 'x', 1) # إضافة الخاصيّة إلى الصّنف
>>> A.x
1

انظر أيضًا

مصادر