モブプロだった人のブログ

モブプログラミングに魅了されたエンジニアのブログ

Python で a == 1 and a == 2 and a == 3 が True になるやつ

Twitter を眺めていたら、何やら面白そうな記事があったので、Python で真似てみることにします。

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

    def __eq__(self, target):
        if self.number != target:
            return False

        self.number += 1
        return True


a = A(1)

if a == 1 and a == 2 and a == 3:
    print('GOOD!')

うん、サクッとやってみましたが、なかなか面白いですね。

(実用性があるのかはよく分かりませんが・・・!)

こういう小さいネタを数多く重ねていくと、知らぬ間に言語仕様に詳しくなったり・・・しないか。