Python の Boolean
Boolean とは?
Python では True (真) または False (偽) を表すための型として、 Boolean 値が用意されています。
Boolean の発音はカタカナで書けば「ブーリアン」に近い音です。
具体的には Boolean は bool という名前のクラスのオブジェクトとして実装されています。
>>> a = True
>>> a
True
>>> type(a)
<class 'bool'>
True と False はキーワードとして予約されていて、 Boolean 値の設定に使われます。
Boolean の使い方
プログラムを書いていれば、Boolean の使い方などは自然とわかってくると思います。とくに、プログラミング自体がはじめて、という人は軽く読み流してくださいね。
Boolean は何に使うのでしょうか?
Boolean は通常、何かの処理を行った結果や、条件の判断結果を保持するために使います。
例えば、次の例をみてください。
import random
# ダミーの関数
# - ランダムな数字を作り、それが 0.5よりも大の時 True
# - それ以外の場合に False としている
def doSomething():
v = random.random()
if v > 0.5:
return True
else:
return False
# 変数 a は関数を呼び出した結果を保持
a = doSomething()
if a:
print('a is True')
else:
print('a is False')
ここでは変数a (14行目) は、6行目から11行目で作成したダミーの関数である doSomething()関数を呼び出した結果を保持します。 そして、16行目からの if 文を使った条件分岐で a が True の場合に 'a is True'、そうでない場合 (つまり False の場合) 'a is False' という文字列を表示します。
Python の bool は int から派生している
Python の bool クラスは int クラスから派生しています。
Boolena の True と False は文字列として出力するとそのまま True、False と出力されます。 しかし実際の値は True は 1 、False は 0 として保持されています。
このため、次のように bool 型の変数に数字を足し算すると、そのまま計算されてしまいます。
>>> a = True
>>> a
True
>>> type(a)
<class 'bool'>
>>> a = a + 2
>>> a
3
>>> type(a)
<class 'int'>
ちなみに誤解のないように言っておくと、いくら bool が int として使えるといっても、 普通は bool に数値を足すようなことをはしません。