class Cat:
“”“这是一个猫类”“”
def init(self) :
# 初始化方法
self.name = “cat”
# 私有属性
self.__privatename = "Cat__1"
# 让对象具有像函数一样背调用的能力
def __call__(self, *args, **kwds):
print("函数调用")
return "成功调用"
def __del__(self):
print("消除对象")
# 给对象下定义
def __str__(self):
return '我是%s'% self.name
# 长度计算
def __len__(self):
pass
# 添加迭代器
def __iter__(self):
return iter([1,2,3])
# 提供关键词查询,如cat['name']
def __getitem__(self,key):
if key == "name":
return self.name
# 给name属性赋值,使用方法:cat['name']='xiaohua'
def __setitem__(self,key,value):
if key == "name":
self.name = value
else:
pass
# 删除属性,用法:del cat['name']
def __delitem__(self,key):
if key == "name":
del self.name
# 提供加法操作,让类对象间有加法能力,使用方法:cat=cat1+cat2
"""
__sub__减法
__mul__乘法
__div__除法
__mod__取模
__pow__次方
"""
def __add__(self,other):
if isinstance(other,Cat):
return [self,other]
elif isinstance(other,list):
other.append(self)
return other
cat = Cat()
析构方法,删除对象
del cat
类说明
print(cat.doc)
print(“所在模块(在哪个文件里):”,cat.module)
print(“类位置(在哪个文件里的哪个类):”,cat.class)
print(“调用cat:”,cat())
print(“对象是否支持__call__:”,callable(cat))
print(“获取对象的成员属性:”,cat.dict)
输出对象
print(“对象的定义:”,cat)