我试图理解 Python 装饰器,并试图编写一个与此等效的程序:
class myDecorator(object):
def __init__(self, f):
print ("inside myDecorator.__init__()")
f() # Prove that function definition has completed
def __call__(self):
print ("inside myDecorator.__call__()")
@myDecorator
def aFunction():
print ("inside aFunction()")
print ("Finished decorating aFunction()")
aFunction()
问题是我不明白__call__
类的方法是如何通过调用来调用aFunction()
的。
正在aFunction()
被替换myDecorator.__call__(aFunction)
。你能帮我么?没有装饰器的等效程序如何?
谢谢!