Встроенная функция Python setattr()
Это парная функция к getattr(). Аргументами являются объект, строка и произвольное значение. Строка может называть существующий или новый атрибут. Функция присваивает значение атрибуту, если объект это разрешает. Например, setattr(x, 'foobar', 123) эквивалентно x.foobar = 123.
Introduction
Встроенная функция setattr() в Python позволяет устанавливать значение атрибута объекта. Она принимает три аргумента: объект, имя атрибута (в виде строки) и значение, которое вы хотите присвоить этому атрибуту.
Это особенно полезно, когда имя атрибута определяется динамически во время выполнения. Вместо использования точечной нотации (object.attribute = value), которая требует заранее знать имя атрибута, setattr() позволяет использовать переменную.
Examples
Вот как можно использовать setattr() для добавления или изменения атрибутов:
class Person:
name = "John"
p = Person()
# Установить атрибут 'age' в 30
setattr(p, 'age', 30)
print(p.age)
# Изменить атрибут 'name'
setattr(p, 'name', 'Jane')
print(p.name)
30
Jane