from functools import wraps
def counter(f):
count=0
@wraps(f)
def wrapper(*args):
global count
count=count+1
return f(*args)
def counter():
return count
f.counter=counter
return wrapper
@counter
def fun(a, b):
return a * 1 + b
print(fun.counter())
res = sum(fun(i, i + 1) for i in range(5))
print(fun.counter(), res)
ZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHdyYXBzCmRlZiBjb3VudGVyKGYpOgogICAgY291bnQ9MAogICAgQHdyYXBzKGYpCiAgICBkZWYgd3JhcHBlcigqYXJncyk6CiAgICAgICAgZ2xvYmFsIGNvdW50CiAgICAgICAgY291bnQ9Y291bnQrMQogICAgICAgIHJldHVybiBmKCphcmdzKQogICAgZGVmIGNvdW50ZXIoKToKICAgICAgICByZXR1cm4gY291bnQKICAgIGYuY291bnRlcj1jb3VudGVyCiAgICByZXR1cm4gd3JhcHBlciAKCgoKCgpAY291bnRlcgpkZWYgZnVuKGEsIGIpOgogICAgcmV0dXJuIGEgKiAxICsgYgoKcHJpbnQoZnVuLmNvdW50ZXIoKSkKcmVzID0gc3VtKGZ1bihpLCBpICsgMSkgZm9yIGkgaW4gcmFuZ2UoNSkpCnByaW50KGZ1bi5jb3VudGVyKCksIHJlcyk=