ホームページ > バックエンド開発 > Python チュートリアル > Python の文字列比較: なぜ「is not」は失敗し、「!=」は成功するのでしょうか?

Python の文字列比較: なぜ「is not」は失敗し、「!=」は成功するのでしょうか?

Susan Sarandon
リリース: 2024-12-24 08:29:45
オリジナル
517 人が閲覧しました

Python String Comparison: Why Does

Python の文字列比較を理解する: is と ==

Python で文字列を比較する場合、「is」と「==」の違いを理解することが不可欠です。 " オペレーター。次の質問は混乱を強調し、洞察力に富んだ回答を提供します:

質問:
「文字列が空かどうかを確認するために 'is not' を使用すると無限ループが発生しましたが、' !=' は正しく動作しました。なぜですか?"

答え:

「is」演算子は 2 つのオブジェクトがメモリ内のまったく同じインスタンスを参照しているかどうかをチェックし、「==」は値が等しいかどうかをチェックします。 。文字列を比較する場合、通常は「==」を使用する必要があります。文字列などのほとんどの組み込み Python オブジェクトはこれらの演算子と一貫して動作するためです。

int または Boolean 比較の演算子の選択に関するガイダンスは次のとおりです。

  • 値の等価性チェックには「==」を使用します。
  • 検索が必要な場合は、特に ID チェックに「is」を使用します。

int に関して注意すべき重要な最適化は、パフォーマンス上の理由から小さな整数が "is" と比較される可能性があるということですが、この動作に依存すべきではありません。

ブール比較には「if x == True」の代わりに「x」を使用し、None には「== None」の代わりに「is None」を使用することもお勧めします。

要約すると、文字列、整数、およびブール値の比較では、「==」がデフォルトの選択肢である必要がありますが、「is」はオブジェクトの ID が関連する特定の場合のために予約されています。

以上がPython の文字列比較: なぜ「is not」は失敗し、「!=」は成功するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート