is not 非同一性判定
最終更新:2026-09-22
is not 非同一性判定
is not は is の否定である。
| カテゴリ | 演算子 |
|---|---|
| 種類 | 演算子 |
| Python バージョン | all |
📝 構文
a is not b
▶ 例
下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:
実行結果:
True
False
💡 関連するケース
さらに多くのケースは近日公開予定です。
❓ よくある質問
Qis not と != の違いは何ですか?
A`is not` は「同じオブジェクトでない」を判定し、`!=` は「値が等しくない」を判定します。`a = [1]; b = [1]` のとき、`a is not b` は `True` ですが `a != b` は `False` です。
QNone の検査は is not None と != None どちらを使うべきですか?
A`x is not None` を使います。一部の型は `__ne__` をオーバーロードしており、`x != None` の動作を信頼できないことがあります。`is not None` はオブジェクトの同一性を比較するので常に正確です。
Q小さい整数や文字列で is not は信頼できますか?
A信頼できません。CPython は小さい整数(-5 〜 256)や短い文字列をキャッシュ・インターンするため、`is not` の結果は実装の詳細に依存します。値が等しくないかを判定するなら `!=` を使いましょう。