python 特殊方法

#python中通过实现这些特殊方法从而实现一些‘特定的功能’,这些方法不是给用户用的,
#python解释器再给类初始化时会同时初始化这些方法

class
Parent: pass class Test: __slots__ = [] #属性控制列表 def __init__(self, **kwargs): for k, v in kwargs.items(): setattr(self, k, v) #删除一个属性被调用 def __delattr__(self, item): print(item) #增加一个属性被调用 def __setattr__(self, key, value): print(key, value) #支持类索引器 def __setitem__(self, key, value): pass def __delitem__(self, key): pass #可以通过类实例调用自定义方法 def __call__(self, *args, **kwargs): pass #可以通过类实例输出自定义文本信息,用于调试输出 def __str__(self): pass #跟__str__ 的区别是用户内部数据传递 def __repr__(self): pass #类初始化最开始被调用的地方,可以用与单一模式等 def __new__(cls, *args, **kwargs): pass # 支持iter def __iter__(self):pass # 支持itor def __next__(self):pass #重写 == def __eq__(self, other):pass t = Test(name='zhangsan', heigth=180)
原文地址:https://www.cnblogs.com/alplf123/p/8983888.html