标签:span print web 程序员 用处 的区别 main 装饰器 相同
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 0x0000027913AA8708>)
running register(<function f2 at 0x0000027913AA8E58>)
running main()
registry -> [<function f1 at 0x0000027913AA8708>, <function f2 at 0x0000027913AA8E58>]
running f1()
running f2()
running f3()
>>> import registration running register(<function f1 at 0x10063b1e0>) running register(<function f2 at 0x10063b268>)
>>> registration.registry
[<function f1 at 0x10063b1e0>, <function f2 at 0x10063b268>]
标签:span print web 程序员 用处 的区别 main 装饰器 相同
原文地址:https://www.cnblogs.com/xiangxiaolin/p/11655741.html