décorateur 1:Python décorateur question
def dec(f):
def wrap(obj, *args, **kwargs):
f(obj, *args,**kwargs)
return wrap
décorateur 2:
class dec:
def __init__(self, f):
self.f = f
def __call__(self, obj, *args, **kwargs):
self.f(obj, *args, **kwargs)
Une classe d'échantillons,
class Test:
@dec
def disp(self, *args, **kwargs):
print(*args,**kwargs)
Le code follwing travaille avec décorateur 1 mais pas avec décorateur 2.
a = Test()
a.disp("Message")
Je ne comprends pas pourquoi le décorateur 2 ne fonctionne pas ici. Quelqu'un peut il m'aider avec ça?
Quelle partie ne fonctionne pas? –
a = Test(); a.disp ("Message") n'a pas fonctionné avec le décorateur 2 – asdfg