Quel est le contrat de base d’un décorateur de fonction Python ?
Il modifie définitivement le fichier source de la fonction d’origine.
Il peut accepter uniquement des classes et doit renvoyer un entier.
Il accepte une fonction, ajoute ou modifie son comportement, puis renvoie un remplacement appelable.
Il ne peut exécuter la fonction d’origine qu’une seule fois et ne peut pas la renvoyer.