setattr(object, name, value)
object
- объект, значение атрибута которого требуется установить,name
- имя атрибута, должно быть строкой,value
- произвольное значение атрибута.Функция setattr()
устанавливает значение атрибута указанного объекта по его имени.
Это аналог функции getattr()
. Аргументами являются объект object
, строка с именем name
атрибута и произвольное значение value
устанавливаемого атрибута.
Имя name
должно быть именем существующего атрибута или будет создан новый атрибут. Функция присвоит значение атрибуту, если объект позволяет это. Например setattr(x, 'foobar', 123)
, эквивалентно x.foobar = 123
getattr()
.delattr()
.hasattr()
.class MyObj: name = 'Chuck Norris' phone = '+666111000' setattr(MyObj, 'phone', '+600000000') setattr(MyObj, 'country', 'Norway') # Получим атрибуты из объекта MyObj: human = MyObj() x = getattr(human, 'phone', '+600000000') y = human.country print(x, y) # +600000000, Norway