Python全系列 教程
3567个小节阅读:5931.9k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
上面写的装饰器都是函数来完成的。我们用类也可以实现装饰器。
类能实现装饰器的功能, 是由于当我们调用一个对象时,实际上调用的是它的 __call__
方法。
【示例】调用对象,__call__
方法的使用
xxxxxxxxxx
class Demo:
def __call__(self):
print('我是 Demo')
demo = Demo()
demo() # 直接调用对象,实质是调用了他的__call__()
【示例】类装饰器的使用案例
xxxxxxxxxx
class MyLogDecorator():
def __init__(self,func):
self.func = func
def __call__(self, *args, **kwargs):
print("日志纪录...")
return self.func(*args,**kwargs)
@MyLogDecorator
def fun2():
print("使用功能2")
if __name__ == '__main__':
fun2()