Python で文字列を比較する場合、「is」と「==」の違いを理解することが不可欠です。 " オペレーター。次の質問は混乱を強調し、洞察力に富んだ回答を提供します:
質問:
「文字列が空かどうかを確認するために 'is not' を使用すると無限ループが発生しましたが、' !=' は正しく動作しました。なぜですか?"
答え:
「is」演算子は 2 つのオブジェクトがメモリ内のまったく同じインスタンスを参照しているかどうかをチェックし、「==」は値が等しいかどうかをチェックします。 。文字列を比較する場合、通常は「==」を使用する必要があります。文字列などのほとんどの組み込み Python オブジェクトはこれらの演算子と一貫して動作するためです。
int または Boolean 比較の演算子の選択に関するガイダンスは次のとおりです。
int に関して注意すべき重要な最適化は、パフォーマンス上の理由から小さな整数が "is" と比較される可能性があるということですが、この動作に依存すべきではありません。
ブール比較には「if x == True」の代わりに「x」を使用し、None には「== None」の代わりに「is None」を使用することもお勧めします。
要約すると、文字列、整数、およびブール値の比較では、「==」がデフォルトの選択肢である必要がありますが、「is」はオブジェクトの ID が関連する特定の場合のために予約されています。
以上がPython の文字列比較: なぜ「is not」は失敗し、「!=」は成功するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。