Python04 - Python3实现运算符重载 - 菜鸟教程

简介

  实现类似于C++的运算符重载,发现还真的简单.
  说白了就是面向对象的一些封装思想, 来实现运算符重载,Java实现起来也和这一样简单.
  照搬的菜鸟教程,看了两遍,自己就可以畅通地实现了.

代码 (有注释)

# -*-coding:utf-8-*-
class Vector:
    # 定义属性 
    x = 0
    y = 0
    # 构造器
    def __init__(self, x, y):
        self.x = x
        self.y = y
    # 实现重载加法
    def __add__(self, other):
        self.x += other.x
        self.y += other.y
        return self
    # 以此类推
    # __sub__: 减运算
    # __mul__: 乘运算
    # __truediv__: 除运算
    # __mod__: 求余运算
    # __pow__: 乘方

    # 类似于Java的toString() 方法,在print() 中就是自动调用,类似于Java的System.out.print()
    def __str__(self):
        x = ('Vector({},{})'.format(self.x, self.y))
        return x

if __name__ == '__main__':
    # 实例化,并实现加法,其他方法依次类推
    v1 = Vector(1, 2)
    v2 = Vector(-1, -3)
    print(v1 + v2)
posted @ 2020-06-01 17:39  山枫叶纷飞  阅读(336)  评论(0编辑  收藏  举报