实例(1):
def spamrun(fn):
@spamrun
def useful(a,b):
useful(3,4)
结果:
spam,spam,spam
实例(2):
def spamrun(fn):
@spamrun
def useful(a,b):
结果:
spam,spam,spam
实例(3):
def spamrun(fn):
@spamrun
def useful(a,b):
useful(3,4)
结果:
spam,spam,spam
实例(4):
def addspam(fn):
@addspam
def useful(a,b):
useful(4,3)
结果:
spam,spam,spam
25
追加
实例
def decorator(fn):
@decorator
def other(a,b):
if __name__=="__main__":
结果:
My god!My god!My god!
25
My god!My god!My god!
25
注释掉//print return fn(*args)
结果是:
My god!My god!My god!
My god!My god!My god!
要想使other函数能正常运行,必须加返回值,@decorator是一个statement,会将other函数当作参数传入来执行test方法