本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。
1、概念
装饰具有参数函数的装饰器,装饰器的作用是返回函数的代理。
2、修饰方法
(1)定义装饰函数并传输类对象
(2)在定义的装饰函数中定义代理函数对象,该代理函数对象与原函数传输的参数一致,并负责处理装饰拦截方法,最终返回一个类别对象
(3)装饰装饰类必须重载运算符__call__保证可动态调用(类似于反射创建对象)
3、实例
defdecorator(fn): defproxy(*args,**kwargs): u""" 调用原始函数作为代理函数,并对原始函数进行auth校验 :paramargs: :paramkwargs: :return: """ print("authchecking")returnfn(*args,**kwargs)returnproxy@decoratordeffn(a=9,b=10): print(a+b)
以上是python装饰带参数装饰的方法,希望对大家有所帮助。更多Python学习指导:python基础教程