4
`if None .__ eq __(“ a”)`がTrueと評価されるように見えるのですが(完全ではありません)。
Python 3.7で次のステートメントを実行すると、(私のテストから)印刷されますb。 if None.__eq__("a"): print("b") ただし、にNone.__eq__("a")評価されNotImplementedます。 当然、に"a".__eq__("a")評価されTrue、に"b".__eq__("a")評価されFalseます。 私は最初に関数の戻り値をテストしたときにこれを発見しましたが、2番目のケースでは何も返しませんでしたNone。つまり、関数は戻りました。 何が起きてる?