python - 如何在Python中的两个不同类之间进行运算符重载

标签 python class operator-overloading

考虑主类

class point2D:
    def __init__(x, y):
        self.x = x
        self.y = y
    def __sub__(self, other):
        return vector2D(self.x - other.x, self.y - other.y)

和子类:

class vector2D(point2D):
    def __add__(self, other):
        return vector2D(self.x + other.x, self.y + other.y)

现在我希望 + 运算符也能够添加 vector2Dpoint2D 对象并返回 point2D 对象。任何类之间的 - 运算符无论如何都会返回 vector2D。如果您能帮助我了解是否/如何在 Python 3.* 中做到这一点,我将不胜感激。

最佳答案

您清楚地知道如何重载运算符。使用类型检查返回所需类型的对象或 NotImplemented在每种情况下。

关于python - 如何在Python中的两个不同类之间进行运算符重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53310157/

相关文章:

c++ - 为什么将对象分配给 map 会产生空对象?

c++ - C++如何在成员变量中实例化子类的实例?

c++ - C++ 中的运算符重载 (operator-)

Python 两个列表查找索引值

Java Class子类变量引用

python - 有没有办法将处理图像的 GIMP 步骤转换为 GEGL 函数调用?

c++ - 如何使用模板声明成员函数? (不是模板类)

c++ - 如何定义相互依赖的类?

python - 如何从字符串中删除所有非整数? (Python)

python - 列表按字母顺序而不是数字顺序排列