class counter:
def __init__(self,fn):
self.count=0
self.fn=fn
def __call__(self,*args):
self.count=self.count+1
return self.fn(*args)
def counter(self):
return self.count
@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)
Y2xhc3MgY291bnRlcjoKICAgIGRlZiBfX2luaXRfXyhzZWxmLGZuKToKICAgICAgICBzZWxmLmNvdW50PTAKICAgICAgICBzZWxmLmZuPWZuCiAgICAgICAgCiAgICBkZWYgX19jYWxsX18oc2VsZiwqYXJncyk6CiAgICAgICAgc2VsZi5jb3VudD1zZWxmLmNvdW50KzEKICAgICAgICByZXR1cm4gc2VsZi5mbigqYXJncykKICAgICAgICAKICAgIGRlZiBjb3VudGVyKHNlbGYpOgogICAgICAgIHJldHVybiBzZWxmLmNvdW50CiAgICAgICAgCkBjb3VudGVyCmRlZiBmdW4oYSwgYik6CiAgICByZXR1cm4gYSAqIDEgKyBiCgpwcmludChmdW4uY291bnRlcigpKQpyZXMgPSBzdW0oZnVuKGksIGkgKyAxKSBmb3IgaSBpbiByYW5nZSg1KSkKcHJpbnQoZnVuLmNvdW50ZXIoKSwgcmVzKSAgICAgICAg