-4
我有一個關於下一個python代碼的問題。python lt-method
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假真」 如何只改變__lt__
- 方法中所述的那乙實例ID是不同的(即而不是「1 2 1 2 False False」可以看到「False False」)?可能嗎? B必須相同。
恐怕我無法理解這個問題。 – NPE
特別是,'__lt__'與這裏的* anything *有什麼關係? – NPE
擺脫額外的打印語句? – Sheena