谁能解释一下装饰器精髓?下面这两种写法,右边写法比起左边少了fn(x)函数,不是更加简洁了吗?
谁能解释一下装饰器精髓?下面两种写法的结果完全一样,为什么第一种叫装饰器。并且右边比起左边少了fn(x)函数,不是更加简洁了吗??
def f1(x): def f2(x):
return x*2 return x*2
def new_fn(f): def new1_fn(f,x):
def fn(x): print('call')
print('call') return f(x)
return f(x) f2=new1_fn(f2,5)
return fn print(f2)
f1 = new_fn(f1)
print(f1(5))