零基础学python真正的装饰器怎么用
1、# 首先引入functools包import functools

2、# 然后是装饰器def boss666(fn): @functools.wraps(fn) # 将后面定义函数的属性替换成fn的 def tmp(*args, **kwargs): print('老板666') return fn(*args, **kwargs) return tmp

3、@boss666 # 在定义函数之前写上这个,就相当于在定义函数以后写了add_fn = boss666(add_fn)def add_fn(a, b): return a + b

4、@boss666def mul_fn(a, b): return a*b

5、a = add_fn(3, 4)print(a)b = mul_fn(2, 6)print(b)

6、print(add_fn, mul_fn)d = {add_fn.__name__: add_fn, mul_fn.__name__: mul_fn}print(d)

7、print('***********带参装饰器*************')def run(s): def who666(fn): @functools.wraps(fn) def tmp(*args, **kwargs): print(s, 666) return fn(*args, **kwargs) return tmp return who666

8、@run('boss') # func_add = run('boss')(func_add)def func_add(a, b): return a+ba = func_add(3, 7)print(a)
