Discuss / Python / 求解为什么要用多层嵌套呢?

求解为什么要用多层嵌套呢?

Topic source

def log(func): def wrapper(args, **kw): print('call %s():' % func.name) return func(args, **kw) return wrapper @log def sum(x,y): return x+y print(sum(1,2)) print(sum.name) print('我是分割线——————————')

def log1(func): print('call %s():' % func.name) return func @log1 def sum1(x,y): return x+y print(sum1(2,3)) print(sum1.name) 上面两种执行结果是 call sum(): 3 wrapper 我是分割线—————————— call sum1(): 5 sum1 第二种是返回的原函数,请问这样做有问题吗?是否改变了原函数定义呢?不太理解

第二种不能对原函数参数进行装饰。。。如果需要对参数进行装饰操作,就必须定义嵌套,应该是这样吧?


  • 1

Reply