零基础学python真正的装饰器怎么用

2024-11-15 01:00:27

1、# 首先引入functools包import functools

零基础学python真正的装饰器怎么用

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

零基础学python真正的装饰器怎么用

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

零基础学python真正的装饰器怎么用

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

零基础学python真正的装饰器怎么用

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

零基础学python真正的装饰器怎么用

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

零基础学python真正的装饰器怎么用

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

零基础学python真正的装饰器怎么用

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

零基础学python真正的装饰器怎么用
猜你喜欢