python如何修饰带参数的装饰器

python如何修饰带参数的装饰器
python如何修饰带参数的装饰器

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

1、概念

修饰带有参数的函数的装饰器,装饰器的作用是返回一个函数的代理。

2、修饰方法

(1)定义一个装饰器函数并传递类对象

(2)在定义的装饰器函数内部定义一个代理函数对象,此代理函数对象与原函数传递的参数一致,并负责处理装饰器拦截方法等工作,最后返回一个类对象

(3)使用装饰器修饰类必须重载运算符__call__保证可被动态调用(类似与反射创建类对象)

3、实例

def decorator(fn):
    def proxy(*args, **kwargs):
        u"""
        作为代理函数来调用原有的函数,并对原来的函数进行auth的校验
        :param args:
        :param kwargs:
        :return:
        """
        print("auth checking")                return fn(*args, **kwargs)        return proxy   @decoratordef fn(a=9, b=10):
    print(a+b)

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注