当前位置: 首页 > 图灵资讯 > 行业资讯> python如何修饰带参数的装饰器

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

来源:图灵python
时间: 2024-08-27 13:32:48

本文教程操作环境: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基础教程