python类装饰器如何使用?

Python (179) 2023-07-15 22:40:42

1、类H1的两个方法:

__init__:接收一个函数作为参数,就是待被装饰的函数;

__call__:让类对象可以调用,类似函数调用,触发点是被装饰的函数调用时触发。

2、实例

基于类的装饰器与基于函数的基本用法一致。

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
classH1(object):
def__init__(self,func):
self.func=func
def__call__(self,*args,**kwargs):
return'<h1>'+self.func(*args,**kwargs)+'</h1>'
@H1
deftext(name):
returnf'text{name}'
s=text('class')
print(s)
classH1(object): def__init__(self,func): self.func=func def__call__(self,*args,**kwargs): return'<h1>'+self.func(*args,**kwargs)+'</h1>' @H1 deftext(name): returnf'text{name}' s=text('class') print(s)
classH1(object):
def__init__(self,func):
self.func=func

def__call__(self,*args,**kwargs):
return'<h1>'+self.func(*args,**kwargs)+'</h1>'

@H1
deftext(name):
returnf'text{name}'

s=text('class')
print(s)

以上就是python类装饰器的使用,希望对大家有所帮助。更多Python学习推荐:python教学

THE END

发表回复