[python] fonction=class(fonction)
Fermé
blackevil
Messages postés
1
Date d'inscription
mardi 22 juin 2004
Statut
Membre
Dernière intervention
13 avril 2007
-
13 avril 2007 à 17:07
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Non membre Dernière intervention 5 février 2025 - 13 avril 2007 à 18:36
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Non membre Dernière intervention 5 février 2025 - 13 avril 2007 à 18:36
A voir également:
- [python] fonction=class(fonction)
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction miroir - Guide
- Fonction somme excel - Guide
- Fonction remplacer word - Guide
1 réponse
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
13 avril 2007 à 18:36
13 avril 2007 à 18:36
Salut,
La methode __call__ permet de surcharger l'opérateur "()" (l'appel de fonction).
Donc si tu fais ça:
#Affiche je suis un objet....
Donc en faisant ça:
gateau devient un objet Cookies qui peut être appelé comme une fonction.
Mais self.app de l'objet gateau prend l'ancienne valeur de gateau (soit la première fonction gateau).
Du coup si tu regardes __call__, l'objet gateau va retourner self.app(environ,self.start_response), soit ce que la première fonction gateau aurait retourné, sachant que la variable environ a été modifiée dans __call__ (entre autres...)....
La methode __call__ permet de surcharger l'opérateur "()" (l'appel de fonction).
Donc si tu fais ça:
class Machin: def __call__(self, arg1): print arg1 obj = Machin() obj("je suis un objet qui peut être appelé comme une fonction")
#Affiche je suis un objet....
Donc en faisant ça:
gateau=Cookies(gateau)
gateau devient un objet Cookies qui peut être appelé comme une fonction.
Mais self.app de l'objet gateau prend l'ancienne valeur de gateau (soit la première fonction gateau).
Du coup si tu regardes __call__, l'objet gateau va retourner self.app(environ,self.start_response), soit ce que la première fonction gateau aurait retourné, sachant que la variable environ a été modifiée dans __call__ (entre autres...)....