class People:
"""
这是一个people类
"""
def __init__(self,name,age) -> None:
"""
构造函数
"""
self.name = name
self.age = age
def __del__(self):
"""
析构函数
"""
print("这是一个析构函数")
def __call__(self,*args,**kwargs):
pass
def __str__(self) -> str:
return "我是 {}".format(self.name)
def __len__(self):
return "返回长度"
def __iter__(self):
return "这是iter方法"
def __getitem__(self,key):
"""
可以通过中括号访问,具备字典一样的功能
"""
if key == "name":
return self.name
else:
return None
def __setitem__(self,key,value):
if key == "name":
self.name = value
def __delitem__(self,key):
if key == "name":
del self.name
def __add__(self,other):
"""
两个对象可以相加的能力
同理
__sub__() -
__mul__() *
__div__() /
__mod__() %
__pow__() **
"""
if isinstance(other,People):
return [self,other]
elif isinstance(other,list):
return other.append(self)
if __name__ == '__main__':
p = People('peter',22)
print(p.__doc__)
print(p.__module__)
print(p.__class__)
print(p.__dict__)