python 装饰器接受参数的时候遇到一些问题

    技术2023-09-03  97

    #定义一个可以接受参数的装饰器 def w1(args): def log(func): print('---装饰器1---') def wrapped(): a = args #根据a的值控制打印的次数 while a: print('----正在执行装饰器1-----') a -= 1 ret = func() return ret return wrapped return log @w1(4) #装饰f2函数,装饰器参数接受4,所以最终打印4次 def f2(): print('---f2----') ```python f2() #调用f2 #最终执行结果为

    但是如果装饰器w1里边的while判断直接用args, 为什么会报错?

    while args: print('----正在执行装饰器1-----') args -= 1

    Processed: 0.009, SQL: 9