以下のコードでreturnの返してくる値がなぜそうなるのかわからない。
def __lt__
のメソッドで条件に応じてTrue
またはFalse
を返してくるようにしていますが、メソッドの最後の行にreturn False
があるので結局すべてFalse
で返ってきてしまうと思いました。ただ、条件文にしたがって正しく返してくれるのですがそれがなぜなのかと、このコードの必要性が理解できないです。
class Para:
def __init__(self, para1):
self.para1 = para1
def __lt__(self, other):
if self.para1 < other.para1:
return True
else:
return False
return False #このリターンを書く意味がわからない。
para1 = Para(1)
para2 = Para(2)
print(para1 < para2)
print(para1 > para2)
>>>True
>>>False