【发布时间】:2015-11-17 00:19:36
【问题描述】:
我已经深入研究了 Python 装饰器,并且正在尝试一些向装饰器添加函数参数的方法。
我面临的问题与我想在装饰器中进行递归有关,同时仅在初始调用时设置一些变量。因此,在示例中,我只想在函数调用中打印一次消息。
现在它打印在函数定义上,而不是函数调用上。请参阅此示例代码:
def recursiveCounter(message):
def decorater(func):
def wrapper(count):
func(count)
if count < 10:
count += 1
wrapper(count)
print message
return wrapper
return decorater
@recursiveCounter("hello I was called once")
def counter(count):
print count
counter(0)
【问题讨论】:
标签: python recursion decorator