الدالة setattr()
في بايثون
< Python
تُنشئ الدّالة 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()
: تعيد قيمة الخاصيّة المُعطاة من الكائن المُعطى.