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

Python (149) 2023-06-21 18:07:56

本文教程操作环境: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修饰带参数装饰器的方法,希望能对大家有所帮助。

THE END

发表回复