在 Python 中,您可以定义一个函数属性“call_count”,这样:
def counter(func):
def inner(*args):
inner.call_count+= 1
return func(*args)
inner.call_count= 0
return inner
def sum(a, b, c):
return a+b+c
sumCounter= counter(sum)
print(sumCounter(1,2,3))
print(sumCounter.call_count)
print(sumCounter(3,2,2))
print(sumCounter.call_count)
这打印:
6
1
7
2
如果我不想调用 sumCounter.call_count,而是想调用函数属性 sumCounter.call_count(),该怎么办?也就是说,一个“看起来”像类方法的函数属性?怎么可能做到这一点?