Je suis novice en programmation et je suis tombé sur ce morceau de code dans le fil de discussion suivant : Attribuer les arguments de la fonction à `self`.
class C(object):
def __init__(self, **kwargs):
self.__dict__ = dict(kwargs)
c = C(g="a",e="b",f="c")
print(c.g,c.e,c.f)
Output:
a b c
Cela permettrait de saisir un nombre quelconque d'arguments de mots-clés et de les attribuer aux attributs en conséquence.
Mes questions sont les suivantes :
- Pourquoi cela fonctionne-t-il ? Que fait le
self.__dict__
faire ici ? - Y a-t-il une autre utilisation de
self.__dict__
?
J'apprécierais également tout type de ressources qui pourraient m'aider à le comprendre. Merci d'avance.