La fonction setattr() en Python est utilisée pour définir la valeur d'un attribut d'un objet en utilisant un nom de chaîne. Elle prend trois arguments :
- l'objet cible,
- le nom de l'attribut
- la valeur à affecter à cet attribut.
Cette fonction permet de définir dynamiquement des attributs pour un objet, plutôt que de les définir directement dans la définition de la classe.
Exemple
1 2 3 4 5 6 7 8 |
class MyClass: pass obj = MyClass() setattr(obj, 'attribute_name', 'attribute_value') print(obj.attribute_name) # Output: attribute_value |
Il est également possible de utiliser la notation point pour accéder à un attribut,
1 |
obj.attribute_name = 'attribute_value' |
ce qui est équivalent à
1 |
setattr(obj, 'attribute_name', 'attribute_value') |
La fonction setattr() est particulièrement utile lorsque vous voulez définir des attributs pour un objet à partir d'une liste de noms d'attributs et de valeurs d'attributs stockés dans des variables ou des structures de données telles que des dictionnaires. Par exemple, vous pouvez utiliser une boucle for pour parcourir une liste de noms d'attributs et des valeurs d'attributs, et utiliser setattr() pour définir les attributs de l'objet.
1 2 3 4 |
attributes_list = [('attribute1', 'value1'), ('attribute2', 'value2'), ('attribute3', 'value3')] for attr, value in attributes_list: setattr(obj, attr, value) |
Notez bien que setattr() peut également être utilisé pour définir des attributs pour des modules et des classes, en plus des objets. Cela permet de définir des variables globales et des méthodes pour des modules et des classes de manière dynamique.
En résumé, la fonction setattr() en Python est un outil pratique pour définir des attributs pour des objets, des modules et des classes de manière dynamique, en utilisant des noms de chaîne plutôt que des noms de variable statiques.
Younes Derfoufi
CRMEF OUJDA
-
Langage Python pour les Nuls, 3e éd - John Paul Mueller
€ 24,00 Acheter le livre -
Tenda Routeur WiFi 6 RX12 Pro, Router Tenda WiFi AX3000 Bi-Bande, 5 * 6dBi Antennes à Haut Puissance, Large Couverture,
€ 57,00 Acheter le livre -
Python pour les Nuls, 4è édition - John Paul Mueller
€ 25,00 Acheter le livre
1 thought on “La fonction setattr() Python”