https://python-3-patterns-idioms-test.readthedocs.io/en/latest/PythonDecorators.html
site bien foutu pour plein plein plein de patterns
]]>NB : “except NameError, e:” => ça plante (je suis en 3.61) par contre “except NameError as e:” ça marche très bien !
]]>* “‘chuchoter’ is not defined”*” -> “‘chuchoter’ is not defined”” (astérisque en trop);
* “en passer une en paramètre” -> “en passer une en argument”, non? Cf. http://sametmax.com/la-difference-entre-parametres-et-arguments/;
* “qui attend une autre fonction en paramètres” -> “qui attend une autre fonction en argument” (au singulier);
* “le décorateur définie” -> “le décorateur définit”;
* “JAMAIS ETE EXECUTE” -> “JAMAIS ETE EXECUTEE”;
* “qu’on l’on vient” -> “que l’on vient”;
* “Après que la fonction soit exécutée” -> “Après que la fonction se soit exécutée” (1 fois dans le code, 3 fois dans les commentaires);
* “étendre ton comportement” -> “étendre son comportement”;
* “Et c’est exactement ce que les décorateurs font” -> “Et c’est exactement ce que les décorateurs font.” (avec un point);
* “démystifies” -> “démystifiés”;
* “bien sur” -> “bien sûr”.
Merci pour votre travail en tout cas!
]]>Dernière ligne : —> parler = creerParler sans les parenthèses, non ?
Nope, “parler” ne va pas contenir la fonction “creerParler”, mais la fonction fabriquée et retournée par “creerParler”. On appelle donc bien la fonction avec qu’elle s’exécute, qu’elle fabrique en interne la nouvelle fonction et la retourne.
Merci pour les corrections.
]]>