何がtrueで何がfalseであるとコンピュータは判断しているのでしょうか?
「コンピューター」は、プログラム言語の指示通りに動作しています。
「プログラム言語」は、プログラム言語の仕様通りにコンピューターに指示を出します。
「Python」がなにをtrue(真)として、なにをfalse(偽)とするかは、以下の仕様で決められています。
この仕様では、「なにを偽とするか」が書かれていて、それ以外は真としています。
- 偽であると定義されている定数:
None と False
- 数値型におけるゼロ:
0, 0.0, 0j, Decimal(0), Fraction(0, 1)
- 空のシーケンスまたはコレクション:
'', (), [], {}, set(), range(0)
これらを偽とする、と仕様を決めたのは「プログラム言語」の作者です。
まとめると、以下の様になります。
- 値の真偽はプログラム言語の作者が決めたとおりに解釈されて、コンピューターはその指示に従っている