
Envoyé par
Rasko
Je ne pense pas confondre les méthodes __getitem__ et __get__, mais passons. Merci pour votre réponse constructive et éclairante.
Lorsqu'on écrit a.__get__, Python regarde dans le dictionnaire de type(a) = A si un attribut portant ce nom existe. Cet attribut possédant lui-même une méthode __get__, il renvoie donc A.__dict__["__get__"].__get__(a,A) (j'ai bien compris que c'était plus compliqué que ça et qu'il cherche d'abord s'il existe un attribut __get__ dans le dictionnaire de l'instance). Du coup, si je pose d = A.__dict__["__get__"], on est encore dans la situation précédente, à savoir déterminer d.__get__ . À première vue on pourrait penser que le processus se répète indéfiniment. D'où mon interrogation et mes essais.
Partager