我有代码:chop_flag = True
def decorator(func):
def chop_num(num):
num = str(num)
num = num[:15]
return float(num)
return chop_num
def decorator2():
return decorator if chop_flag else break
总结一下:我试图在程序中获取每个函数的输出,并在chop_flag = True时通过chop_num()函数运行它; 如果chop_flag = False,我希望它只是忽略decorator。 我以为我会通过为每个函数应用decorator来做到这一点。chop_flag = True
def decorator(func):
if chop_flag == True:
def chop_num(num, *args, **kwargs):
num = func(*args, **kwargs)
num = str(num)
num = num[:15]
return float(num)
return chop_num
else:
return
它现在正常运行,但是当我将我的文件导入解释器(例如)并调用Add函数时,尽管我已经插入了两个参数,它会说“add()缺失了一个必需的位置参数”。