Pythonにはシングルトンと呼ばれるものがありますNotImplemented
。
なぜ誰かが戻りたいのかNotImplemented
?NotImplementedError
例外ですか? 無効なメソッドを実行するコードなどのバグを見つけるのが難しくなるだけではないでしょうか?
ベストアンサー1
これは__lt__()
、および関連する比較メソッドがリストのソートなどで間接的によく使用されるためです。アルゴリズムによっては、別の方法を試したり、デフォルトの勝者を選択したりすることがあります。例外が発生すると、キャッチされない限りソートが中断されますが、 はNotImplemented
発生せず、以降のテストで使用できます。
http://jcalderone.livejournal.com/32837.html
そのリンクを要約すると次のようになります。
「は
NotImplemented
、ランタイムに、演算を満たすために他の誰かに依頼する必要があることを通知します。式 でa == b
、a.__eq__(b)
が を返す場合NotImplemented
、Python は を試しますb.__eq__(a)
。またはをb
返すことが十分にわかっている場合、式は成功します。 そうでない場合、ランタイムは組み込みの動作 (およびの同一性に基づく) にフォールバックします。」True
False
==
!=