python中的运算符重载

python中的运算符重载,python,operator-overloading,Python,Operator Overloading,可能的重复项: 在Python中是否可以重载运算符?如果是,可以定义新的运算符,例如++和请参见: 类可以通过定义具有特殊名称的方法来实现由特殊语法(如算术运算或订阅和切片)调用的某些操作。这是Python的操作符重载方法,允许类定义自己关于语言操作符的行为 正如其他答案所提到的,您确实可以重载运算符(通过在您正在编写的类中定义特殊方法,即名称以两个下划线开头和结尾的方法)。所有细节都很清楚 完成对您的问题的回答:您不能定义新运算符;但是是,也不是。我不认为您可以定义自己的运算符,但是您可以

可能的重复项:

在Python中是否可以重载运算符?如果是,可以定义新的运算符,例如
++
请参见:

类可以通过定义具有特殊名称的方法来实现由特殊语法(如算术运算或订阅和切片)调用的某些操作。这是Python的操作符重载方法,允许类定义自己关于语言操作符的行为


正如其他答案所提到的,您确实可以重载运算符(通过在您正在编写的类中定义特殊方法,即名称以两个下划线开头和结尾的方法)。所有细节都很清楚


完成对您的问题的回答:您不能定义新运算符;但是
是,也不是。我不认为您可以定义自己的运算符,但是您可以重载现有的运算符-您可以通过重写运算符的特殊方法来实现。例如

要覆盖>,您可以覆盖!=覆盖
\uuu ne\uuuu()
等等

重复问题:。另请参见。这可能是一个重复的问题,但我发现接受的答案比其他问题更有用,因为它链接到所有_uuuuxxx uuuuuuuu方法的描述。@ToolmakerSteve-抱歉,我将其标记并删除为非答案。这只不过是一个链接,这意味着它受制于linkrot。因为这是谷歌的第一次成功,我认为它应该被解锁。锁定它会迫使人们进行额外的点击以获取信息,下面的答案甚至没有给出示例。+1用于链接到_uuuuuuxxx uuuuuu方法列表。我在其他问题的答案中找不到这个链接,这个问题被认为是重复的。