Как получить доступ к атрибуту атрибута объекта, соответствующей названию этого атрибута

Как вы устанавливаете / получаете значения атрибутов tзаданных x.

class test():
   attr1 = int
   attr2 = int

t = test()
x = "attr1"

python,object,attributes,

75

Ответов: 2


168 принят

Существуют встроенные функции, называемые getattrиsetattr

getattr(object, attrname)
setattr(object, attrname, value)

В этом случае

x = getattr(t, "attr1")
setattr(t, 'attr1', 21)

6

В функциях setattr и getattr встроен python. Который может использоваться для установки и получения атрибута класса.

Краткий пример:

>>> from new import  classobj

>>> obj = classobj('Test', (object,), {'attr1': int, 'attr2': int}) # Just created a class

>>> setattr(obj, 'attr1', 10)

>>> setattr(obj, 'attr2', 20)

>>> getattr(obj, 'attr1')
10

>>> getattr(obj, 'attr2')
20
питон, объект, атрибуты,
Похожие вопросы