result.__data.append(item)
return result
#提供方法,集合并集运算
def union(self,otherSet):
return self | otherSet
#运算符重载,集合交集运算
def __and__(self, other):
if not isinstance(other,Set):
raise Exception('类型错误')
result = Set()
for item in self.__data:
if item in other.__data:
result.__data.append(item)
return result
#^运算符重载,集合对称差集
def __xor__(self, other):
return (self-other) | (other-self)
#提供方法,集合对称差集运算
def symetric_difference(self,other):
return self ^ other
#==运算符重载 , 判断两个集合是否相等
def __eq__(self, other):
if not isinstance(other,Set):
raise Exception('类型错误')
if sorted(self.__data) == sorted(other.__data):
return True
return False
#运算符重载,集合包含关系
def __gt__(self, other):
if not isinstance(other,Set):
raise Exception('类型错误')
if self != other:
flag1 = True
for item in self.__data:
if item not in other.__data:
#当前集合中有的元素不属于另一个集合
flag1 = False
break
flag2 = True
【python里函数重写 python系统函数重写】for item in other.__data:
if item not in self.__data:
#另一集合中的元素不属于当前集合
flag2 = False
break
if not flag1 and flag2:
return True
return False
#=运算符重载,集合包含关系
def __ge__(self, other):
if not isinstance(other,Set):
raise Exception('类型错误')
return self == other or selfother
#提供方法,判断当前集合是否为另一个集合的真子集
def issubset(self,other):
return selfother
#提供方法,判断当前集合是否为另一集合的超集
def issuperset(self,other):
return selfother
#提供方法,清空集合所有元素
def clear(self):
while self.__data:
del self.__data[-1]
print('集合已清空')
#运算符重载,使得集合可迭代
def __iter__(self):
return iter(self.__data)
#运算符重载,支持in运算符
def __contains__(self, item):
return item in self.__data
#支持内置函数len()
def __len__(self):
return len(self.__data)
#直接查看该类对象时调用该函数
def __repr__(self):
return '{'+str(self.__data)[1:-1]+'}'
#使用print()函数输出该类对象时调用该函数
__str__ = __repr__
python里函数重写的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python系统函数重写、python里函数重写的信息别忘了在本站进行查找喔 。
推荐阅读
- 怎么测量显卡风扇转速多少,怎么测显卡风扇转不转
- cpu为什么7700,CPU为什么会变成单通道
- sqlserver解密数据,sqlserver解密工具
- mysql自增单词怎么写 mysql自增sql
- 如何推广和普及太极拳,怎样推广太极拳
- 适合小孩的体育竞技游戏,儿童体育竞技项目
- 联通宽带路由器作用是什么,联通宽带路由器怎么样
- vb.net编程手册下载 vb net从入门到精通
- 视频剪辑什么内存大,剪辑视频吃内存还是处理器