Встроенная функция Python setattr()

Из документации Python 3

Это парная функция к 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