我对下一个 python 代码有疑问。
class A(object):
id = 1
def __init__(self):
self.id = A.id
A.id += 1
def getId(self):
return self.id
def __lt__(self, other):#This method is interested
return self.id < other.id
class B(A):
def __init__(self):
self.id = 1
然后我测试它
a1 = A()
a2 = A()
b1 = B()
b2 = B()
print a1.getId(),
print a2.getId(),
print b1.getId(),
print b2.getId(),
print a1.id == a2.id,b1.id == b2.id
并查看结果“1 2 1 1 False True”如何仅更改__lt__
A 中 B 实例的 id 不同的 - 方法(即可以看到“False False”而不是“1 2 1 2 False False”)?是否可以?B 必须相同。