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

2026-01-14 23:07:26

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真正的装饰器怎么用?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢