Função built-in Python setattr()
Este é o correspondente de getattr(). Os argumentos são um objeto, uma string e um valor arbitrário. A string pode nomear um atributo existente ou um novo atributo. A função atribui o valor ao atributo, desde que o objeto o permita. Por exemplo, setattr(x, 'foobar', 123) é equivalente a x.foobar = 123.
Introdução
A função setattr() é uma função built-in do Python que permite definir o valor de um atributo de um objeto. Ela aceita três argumentos: o objeto, o nome do atributo (como uma string) e o valor que você deseja atribuir a esse atributo.
Isso é particularmente útil quando o nome do atributo é determinado dinamicamente em tempo de execução. Em vez de usar a notação de ponto (object.attribute = value), que exige que você conheça o nome do atributo antecipadamente, setattr() permite que você use uma variável.
Exemplos
Veja como você pode usar setattr() para adicionar ou modificar atributos:
class Person:
name = "John"
p = Person()
# Define o atributo 'age' como 30
setattr(p, 'age', 30)
print(p.age)
# Altera o atributo 'name'
setattr(p, 'name', 'Jane')
print(p.name)
30
Jane