当Func返回不是真时,我的装饰器用于召回Func。def deco_retry(retry_times):
def _deco_retry(func):
def wrapper(*args, **kwargs):
while retry_times > 0:
ret = func(*args, **kwargs)
if ret:
return ret
retry_times -= 1
return wrapper
return _deco_retry
@deco_retry(retry_times=1)
def func(ok=1):
if ok == 1:
return True
else:
return False
当我调用func()时,出现了错误:Traceback (most recent call last):
File "E:/Charles/Code/pycharmprj/Huobi/test_code/decorator_test.py", line 26, in
func()
File "E:/Charles/Code/pycharmprj/Huobi/test_code/decorator_test.py", line 10, in wrapper
while retry_times > 0:
UnboundLocalError: local variable 'retry_times' referenced before assignment
我如何纠正这个错误?