运算符重载

"""
   运算符重载
"""


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))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值