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

من موسوعة حسوب
< Python
مراجعة 13:17، 10 يونيو 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

انظر أيضًا

  • الدالة delattr()‎: تحذف الخاصيّة المُعطاة من الكائن (إن سمَح الكائن بحذف الخاصيّة).
  • الدالة getattr()‎: تعيد قيمة الخاصيّة المُعطاة من الكائن المُعطى.

مصادر