NotImplemented 未実装マーカー

最終更新:2026-09-22

NotImplemented 未実装マーカー

NotImplemented は二項演算子メソッドによって返され、「この演算は自分では実装していないので、オペランドを入れ替えて試してほしい」ことを示す。

カテゴリキーワード/文
種類キーワード/文
Python バージョンall

📝 構文

NotImplemented

▶ 例

下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:

実行結果:

False
さらに多くのケースは近日公開予定です。

❓ よくある質問

QNotImplemented と NotImplementedError の違いは何ですか?
A`NotImplemented` はシングルトンオブジェクトで、`__eq__` や `__add__` などの二項演算子メソッドから返され、「この演算はサポートしていないので、反射演算を試してください」を意味します。`NotImplementedError` は「抽象メソッドがまだ実装されていない」を意味する例外クラスです。
Q`__eq__` が NotImplemented を返すとどうなりますか?
APython はオペランドを入れ替えて、相手側の反射メソッド(例:`other.__eq__(self)`)を試します。相手も `NotImplemented` を返すと、`==` の最終結果は `False`(`!=` は `True`)になります。
Qいつ NotImplemented を返すべきですか?
A`__eq__`、`__add__`、`__lt__` などの二項演算 dunder メソッドを実装するとき、認識できない型に遭遇したら `TypeError` を投げるのではなく `return NotImplemented` を返し、Python に他のメカニズムを試させます。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%