【发布时间】:2019-02-22 21:41:21
【问题描述】:
def call_counter(func):
print('Called\n')
def helper(x):
helper.calls+=1
return func(x)
helper.calls=0
return helper
@call_counter
def succ(x):
return x+1
print(str(succ.calls)+'\n')
for i in range(10):
print(succ.calls)
succ(i)
print('\n')
print(succ.calls)
【问题讨论】:
-
这里是python新手
-
我不明白你在问什么。您的代码输出正是我所期望的。您能否在您期望什么以及为什么的问题上提供更多解释?也许显示你得到的输出以及你期望得到的结果?
-
我不明白为什么装饰器只在函数上调用一次。它应该被调用 10 次,对吧?循环中的每次迭代一次,因此“Called”应打印 10 次。我错过了什么?
标签: python-3.x python-decorators