モブプロな人たちのブログ

Web サービス開発しているエンジニアの日記です。Python 大好き Flask 大好き。たまに Swift で iOS ゲーム開発も。

Python で a == 1 and a == 2 and a == 3 が True になるやつ、の補足

先日の記事を見たチームの人から、

わけわからん!

と指摘を受けてしまったので、少し補足します。

先日の記事とは↓のことです。

Python で a == 2 and a > 3 and a < 4 を True にしてみる

コードで見た方が分かりやすいと思うので、先日とは違う感じで書いてみました。

class A:
    def __init__(self, start):
        self.number = start

    def __eq__(self, target):
        print(f'{self.number} == {target}')
        return True

    def __gt__(self, target):
        print(f'{self.number} > {target}')
        return True

    def __lt__(self, target):
        print(f'{self.number} < {target}')
        return True


a = A(1)

if a == 2 and a > 3 and a < 4:
    print('GOOD!')

# 1 == 2
# 1 > 3
# 1 < 4
# GOOD!

以上です。

はい、補足とか言いながら全然補足してないですね、あはは。