Dev Faq
10
votes

Comment puis-je emballer plusieurs décorateurs en un?

J'ai plusieurs décorateurs sur chaque fonction, y a-t-il un moyen de les emballer à une autre? XXX PRE>

Modifier à: P>

@all_funs #runs fun1 fun2 and fun3, how should all_funs look like?
def do_stuf():
    pass

python decorator

4 commentaires

Dupliquer:

3 Réponses :


1
votes
def all_funs(f):
    return fun1(fun2(fun3(f)))

0 commentaires

10
votes

Un décorateur n'est en principe que le sucre syntaxique pour cela:

def all_funs(funky):
    return fun1(fun2(fun3(fun4(funky)))


0 commentaires

7
votes

Il est également possible d'écrire un décorateur générique qui prend en charge le chaînage de décorateur: xxx


0 commentaires

Articles qui pourrait vous intéresser :

Python: ConnectionError: HTTPSConnectionPool (hôte = 'api.foursquare-com', port = 443)
L'exécution de Flask sous Windows n'exécute pas la commande d'exécution de flask
Chatbot installé mais obtention d'une erreur lors de l'importation de ChatBot
Administrateur Django: __str__ a renvoyé une non-chaîne (type int)
© 2020 www.devfaq.fr - Licensed under  cc by-sa 3.0  with  attribution required.