"""
运算符重载
"""
class Vector2:
def __init__(self, x, y):
self.x = x
self.y = y
def __str__(self):
return 'x的分量是%d,y的分量是%d'%(self.x,self.y)
def __add__(self, other):
return Vector2(self.x+other.x,self.y+other.y)
def __iadd__(self, other):
self.x += other.x
self.y += other.y
return self
def __lt__(self,other):
return self.x+self.y < other.x+other.y
def __eq__(self,other):
return self.x==other.x and self.y == other.y
pos = Vector2(1, 2)
dir = Vector2(0, 1)
# pos.x += dir.x
# pos.y += dir.y
print(pos + dir)#pos.__add__(dir)
pos +=dir
print(pos)
# 创建了新对象
list01 = [1]
print(id(list01))
list01 = list01 + [2]
print(id(list01))
list02 = [1]
print(id(list02))
list02 += [2]
print(id(list02))
list01 = [
Vector2(1,2),
Vector2(7,8),
Vector2(3,4),
Vector2(5,6),
]
for item in sorted(list01):
print(item)
print(Vector2(1,2) in list01)
list01.remove(Vector2(1,2))
list01.count(Vector2(1,2))
运算符重载
最新推荐文章于 2025-11-26 15:40:52 发布
本文介绍了Python中的运算符重载,通过Vector2类展示了如何自定义加法和更新加法操作。同时,讲解了列表的id变化以及在列表中搜索和操作元素的方法,包括列表的in操作、remove方法和count方法的应用。
1363

被折叠的 条评论
为什么被折叠?



