example-code-2e/09-closure-deco/registration.py
2021-05-21 18:56:12 -03:00

32 lines
498 B
Python

# 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[]