如果我想为一个类编写自定义比较函数,有没有一种方法来定义要比较的“what”而不是单独编写它们?你知道吗
class Version:
def __init__(self, major, minor, patch):
self.major = major
self.minor = minor
self.patch = patch
@property
def version(self):
return self.major, self.minor, self.patch
def __eq__(self, other):
return self.version == other.version
def __gt__(self, other):
return self.version > other.version
def __lt__(self, other):
return self.version < other.version
比如说
class Version:
def __init__(self, major, minor, patch):
self.major = major
self.minor = minor
self.patch = patch
def __representation__(self):
return self.major, self.minor, self.patch
…对于所有类似比较的运算符,哪个会使用__representation__
?你知道吗
我不知道有什么方法可以一次性定义所有的东西。但是python提供了^{} 装饰器,它要求您只编写
__eq__
和一个比较魔术方法,然后添加所有其他方法。你知道吗示例:
相关问题 更多 >
编程相关推荐