4
Neden ʻ if None .__ eq __ ("a") "True olarak değerlendiriliyor (ama tam olarak değil)?
Python 3.7'de aşağıdaki ifadeyi çalıştırırsanız, (benim testime göre) yazdırılacaktır b: if None.__eq__("a"): print("b") Ancak, olarak None.__eq__("a")değerlendirilir NotImplemented. Doğal olarak, "a".__eq__("a")değerlendirir Trueve "b".__eq__("a")değerlendirir False. Bunu başlangıçta bir işlevin dönüş değerini test ederken keşfettim, ancak ikinci durumda hiçbir şey döndürmedim - yani işlev döndü None. Burada neler oluyor?