En Python,Est-ce que les Décorateurs en Python doivent nécessairement implémenter le Motif Décorateur?
Est-il exact que les décorateurs en Python peuvent changer l'interface de la fonction décorée/classe, par exemple changer la signature de la fonctions décorées et les méthodes de classe décorée? Par exemple:
>>> def MyDecorator(func): ... def NewFunc(): ... pass ... return NewFunc ... >>> @MyDecorator ... def MyFunc(a, b, c): ... print(a,b,c) ...
Alors décorateurs en Python ne sont pas nécessairement utilisés pour la mise en œuvre du modèle de conception de décorateur tel que décrit dans le livre « Design Pattern » par GoF?
Est-ce une mauvaise pratique d'écrire un décorateur qui modifie l'interface de la fonction décorée/classe?
Merci.
Je pense que la question est bonne - mais trop large. Je veux dire que vous avez 3 questions (même si elles sont vaguement reliées) au lieu d'une seule. Pourriez-vous essayer de réduire la portée de la question? – MSeifert
@MSeifert Merci. Les questions pour moi sont étroitement liées, et elles sont en fait la même question énoncée sous différentes formes. Si je les divise en trois postes, ils seront des doublons, j'en ai peur. – Tim