# tag::REGISTRATION[] registry = [] # <1> def register(func): # <2> print(f'running register({func})') # <3> registry.append(func) # <4> return func # <5> @register # <6> def f1(): print('running f1()') @register def f2(): print('running f2()') def f3(): # <7> print('running f3()') def main(): # <8> print('running main()') print('registry ->', registry) f1() f2() f3() if __name__ == '__main__': main() # <9> # end::REGISTRATION[]