closure3

Run Settings
LanguagePython
Language Version
Run Command
def counter(fn): count = 0 def inner(*args, **kwargs): nonlocal count count += 1 print(f'function fn address at', fn) print('Function {0} was called {1} times'.format(fn.__name__, count)) return fn(*args, **kwargs) return inner def add(a, b=0): return a + b def diff(a,b=0): return a - b print(f'function add address at',add) add = counter(add) print(f'function add address after counter at',add) # address of inner diff = counter(diff) result = add(1,2) # Function add was called 1 times add(2,3) add(3,4) diff(2,3) diff(6,7) print(result) print(dir(add))
Editor Settings
Theme
Key bindings
Full width
Lines