Quick actions

cmd+k|ctrl+k

Navigation

Languages

closure3

Snippet info

Language

Python

Visibility

public

Author

legacy-v1-22796

Created

2025-06-24T02:09:36.263021Z

Updated

2025-06-24T06:24:49.82405Z

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))




INFO