Fonction intégrée Python setattr()
Extrait de la documentation Python 3
Ceci est l'équivalent de getattr(). Les arguments sont un objet, une chaîne de caractères et une valeur arbitraire. La chaîne peut nommer un attribut existant ou un nouvel attribut. La fonction assigne la valeur à l'attribut, à condition que l'objet le permette. Par exemple, setattr(x, 'foobar', 123) est équivalent à x.foobar = 123.
Introduction
La fonction setattr() est une fonction intégrée de Python qui vous permet de définir la valeur d’un attribut d’un objet. Elle prend trois arguments : l’objet, le nom de l’attribut (sous forme de chaîne de caractères) et la valeur que vous souhaitez assigner à cet attribut.
Ceci est particulièrement utile lorsque le nom de l’attribut est déterminé dynamiquement à l’exécution. Au lieu d’utiliser la notation par point (object.attribute = value), qui nécessite de connaître le nom de l’attribut à l’avance, setattr() vous permet d’utiliser une variable.
Exemples
Voici comment vous pouvez utiliser setattr() pour ajouter ou modifier des attributs :
class Person:
name = "John"
p = Person()
# Définir l'attribut 'age' à 30
setattr(p, 'age', 30)
print(p.age)
# Modifier l'attribut 'name'
setattr(p, 'name', 'Jane')
print(p.name)
30
Jane