def func(arg): def inner(): print(‘before‘) v = arg() print(‘after‘) return v return inner # 第一步:执行func函数并将下面的函数参数传递,相当于:func(index) # 第二步:将func的返回值重新赋值给下面的函数名。index = func(index) @func def index(): print(‘123‘) return ‘666‘ print(index())
目的:在不改变原函数的基础上,再函数执行前后自定义功能。
应用:
原文:https://www.cnblogs.com/wangdianchao/p/11512700.html