Python 3.x 重载必要的运算符,以便不必写入
使用Python3从Think like a CS做一些练习: 有一项任务: 重载所需的运算符,而不必写入Python 3.x 重载必要的运算符,以便不必写入,python-3.x,Python 3.x,使用Python3从Think like a CS做一些练习: 有一项任务: 重载所需的运算符,而不必写入 if t1.after(t2):... 我们可以用更方便的 if t1 > t2: ... 我怎么能做到?没有想法。您需要重写类的t1.\ugt\ut2方法。我建议覆盖以下所有特殊功能 比如说 class Point: def __init__(self, x = 0, y = 0): self.x = x self.y = y
if t1.after(t2):...
我们可以用更方便的
if t1 > t2: ...
我怎么能做到?没有想法。您需要重写类的t1.\ugt\ut2方法。我建议覆盖以下所有特殊功能
比如说
class Point:
def __init__(self, x = 0, y = 0):
self.x = x
self.y = y
def __lt__(self,other):
self_mag = (self.x ** 2) + (self.y ** 2)
other_mag = (other.x ** 2) + (other.y ** 2)
return self_mag < other_mag
将允许您编写类似p1编辑:结果表明,只需在使用functools的基础上覆盖_eq_uuuuu和_lt_uuuuu即可。@total_排序即可得到所需的结果 看看,还有。到目前为止你都做了些什么,你到底在哪里努力完成这项任务?让我们看看你到目前为止都做了些什么。您可以使用_gt__运算符。@rassar thx找到了。您应该在发布问题之前搜索堆栈溢出。关于操作符重载已经有很多答案了。这里有一个问题和几个问题: