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()"
def main():
print "main starts....."
aFunction()
print "main ends....."
出力:
inside myDecorator.__init__()
inside aFunction()
main starts.....
inside myDecorator.__call__()
main ends.....
上記のコードについて、次の点が理解できませんでした。
「メインの開始....」が最初の行に印刷されないのはなぜですか?
aFunction() から何らかの値を返す場合、 not に置き換え
aFunction()
られるため、その呼び出しの代わりに使用できないとします。inside myDecorator.__call__()
inside aFunction()