真実は常にバイナリ値に変換されますか?
多くのプログラミング言語では、一般に「真実」と呼ばれるブール式に数値を割り当てます。そして「偽り」。たとえば、Python は true を 1 に、false を 0 に等しいとみなします。しかし、この等価性はすべての状況に当てはまりますか?
ブール値の複雑さ
実際、Python では、true と false の値は、整数 1 と 0 とは別の固有のオブジェクトです。一方、true は確かに 1 と評価されますが、これは 0 以外のすべての整数が true であることを意味するものではありません。 true と 1 のみが同等です。その他のゼロ以外の整数 (2 など) は true と評価されますが、それ自体は true ではありません。
説明する例
次の Python ステートメントを考えてみましょう:
if(0): # Evaluates to false if(1): # Evaluates to true if(2): # Also evaluates to true if(0 == false): # Evaluates to true if(0 == true): # Evaluates to false if(1 == false): # Evaluates to false if(1 == true): # Evaluates to true if(2 == false): # Evaluates to false if(2 == true): # Evaluates to false
これらの例は、true は数値的に 1 に等しいが、ゼロ以外の整数は true.
実践的な意味
この区別を理解することは、プログラミングにおいて実践的な意味を持ちます。たとえば、ゼロ以外の整数をboolean 変数に代入しようとすると、Python は自動的にそれを true に強制します。ただし、ゼロ以外の整数を true と明示的に比較すると、結果は false になります。
結論
Python では、true は本質的に整数 1 とは異なります。true は 1 と評価されますが、ゼロ以外の整数は true と評価されますが、本当。この微妙な違いは、Python のブール論理を理解し、プログラミングでよくある落とし穴を回避するための基礎です。
以上がPython では True は常に 1 に相当しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。