我正在刷新我关于一些python特性的记忆,我没有得到,我从this python tutorial得知,并且有一个我不完全理解的例子。这是关于一个装饰计数调用一个函数,下面的代码:Python装饰器计数函数调用
def call_counter(func):
def helper(x):
helper.calls += 1
return func(x)
helper.calls = 0
return helper
@call_counter
def succ(x):
return x + 1
if __name__ == '__main__':
print(succ.calls)
for i in range(10):
print(succ(i))
print(succ.calls)
什么我不明白这是为什么我们做递增函数包装的电话(helper.calls + = 1),而不是函数调用自己,为什么它实际上工作?
'@call_counter succ' =='SUCC = call_counter(SUCC) =助手“ – Cheney