我正在使用 Python 开发一个图形库,并且我正在以这种方式定义我的 vetex:
class Vertex:
def __init__(self,key,value):
self._key = key
self._value = value
@property
def key(self):
return self._key
@key.setter
def key(self,newKey):
self._key = newKey
@property
def value(self):
return self._value
@value.setter
def value(self,newValue):
self.value = newValue
def _testConsistency(self,other):
if type(self) != type(other):
raise Exception("Need two vertexes here!")
def __lt__(self,other):
_testConsistency(other)
if self.index <= other.index:
return True
return False
......
我真的必须自己定义 __lt__,__eq__,__ne__.... 吗?它是如此冗长。有没有更简单的方法可以解决这个问题?干杯。请不要使用 __cmp__ 因为它将在 python 3 中消失。