建议大家自己看看输出,然后去悟道吧 ,不懂留言讨论ha
registry=[]
def register(func):
print('running register(%s)' % func)
registry.append(func)
return func
@register
def f1():
print('running f1()')
@register
def f2():
print('running f2()')
def f3():
print('running f3()')
def main():
print('running main()')
print('registry ->' ,registry)
f1()
f2()
f3()
if __name__=='__main__':
main()
输出结果如下:
注意运行前先注册,后跑实例代码
running register(<function f1 at 0x7fddae1b3f28>)
running register(<function f2 at 0x7fddae1bc048>)
running main()
registry -> [<function f1 at 0x7fddae1b3f28>, <function f2 at 0x7fddae1bc048>]
running f1()
running f2()
running f3()