个人网站注册平台钱,网络搭建视频教程,嘉兴市秀洲区住房和建设局网站,检查wordpress加载过程1 Python装饰器管理类和函数
Python装饰器可以管理函数和实例的调用#xff0c;也可以直接管理函数和类本身。
1.1 装饰器将函数和类保存到字典
描述
通过装饰器将函数或类保存到字典#xff0c;以便后续使用。
#xff08;1#xff09; 定义一个字典#xff1b;
也可以直接管理函数和类本身。
1.1 装饰器将函数和类保存到字典
描述
通过装饰器将函数或类保存到字典以便后续使用。
1 定义一个字典
2 定义一个装饰器将装饰的函数或类保存到字典
3 装饰器不调用函数或类直接返回函数或类
4 通过字典访问保存的函数或类
示例 registry{}def register(obj):registry[obj.__name__]objreturn obj register
def testadd(a,b):return ab register
def testsub(a,b):return a-bregister
class TestMul:def __init__(self,a,b):self.mula*bdef __str__(self):return str(self.mul) for k in registry:print(k,-,registry[k],type(registry[k]))testadd - function testadd at 0x000001B92C23BAF0 class function
testsub - function testsub at 0x000001B92C2FC040 class function
TestMul - class __main__.TestMul class type for k in registry:print(k,,registry[k](5,2))testadd 7
testsub 3
TestMul 101.2 装饰器为函数添加属性
描述
通过装饰器为装饰函数添加属性以便后续使用。
1 定义一个装饰器
2 为装饰函数添加属性内部给属性值或者外部送入属性值
3 返回装饰函数
4 访问装饰器函数添加的属性
示例 def markdeco(func):func.markedTruereturn func markdeco
def testmul(a,b):return a*b testmul.marked
Truedef myannotate(note):def notedeco(func):func.labnotereturn funcreturn notedecomyannotate(梯阅线条)
def testsub(a,b):return a-b testsub.lab
梯阅线条testsub(5,2)
3