bool型(ブール型)とは?|初心者向けに意味・使い方・TrueとFalseの違いを解説

プログラミングを学んでいると、「bool型(ブール型)」という言葉を目にすることがあります。
bool型は、「正しいか・間違っているか」「はい・いいえ」「オン・オフ」など、2つの状態を表現するためのデータ型です。
Pythonをはじめ、多くのプログラミング言語で利用されており、条件分岐や繰り返し処理など、プログラミングの基本となる重要な概念です。
この記事では、プログラミング初心者向けに、bool型の意味やTrue・Falseの違い、具体的な使い方、if文との関係などをわかりやすく解説します。
bool型(ブール型)とは?
bool型とは、「真(True)」または「偽(False)」の2つの値を扱うデータ型です。
日本語では「ブール型」「論理型」などと呼ばれます。
例えば、次のような状態をプログラムで表現できます。
| 状態 | bool型 |
|---|---|
| 会員である | True |
| 会員ではない | False |
| ログインしている | True |
| ログインしていない | False |
| 18歳以上である | True |
| 18歳未満である | False |
| 在庫がある | True |
| 在庫がない | False |
つまり、bool型は「Yes / No」をコンピューターに伝えるためのデータ型と考えると理解しやすいでしょう。
TrueとFalseとは?
bool型には、基本的に次の2つの値があります。
- True:真、正しい
- False:偽、正しくない
Pythonでは、次のように記述します。
is_student = True
is_adult = False
この場合、次のような状態になります。
is_student → True
is_adult → False
例えば、次のコードを見てみましょう。
is_logged_in = True
if is_logged_in:
print("ログインしています")
is_logged_in がTrueなので、次のように表示されます。
ログインしています
bool型は何に使う?
bool型は、主に条件によって処理を変える場合に使います。
例えば、Webサイトのログイン処理を考えてみましょう。
is_logged_in = True
if is_logged_in:
print("マイページを表示します")
else:
print("ログインしてください")
is_logged_in がTrueならマイページを表示し、Falseならログインを促します。
このように、bool型は「条件を満たしているかどうか」を判断するために非常によく使われます。
if文とbool型の関係
bool型を理解するうえで重要なのが、if文です。
例えば、次のコードがあります。
age = 20
if age >= 18:
print("成人です")
age >= 18を評価すると、
True
になります。
そのため、if文の中の処理が実行されます。
反対に、次のコードではどうでしょうか。
age = 15
if age >= 18:
print("成人です")
この場合は、
False
になるため、if文の中の処理は実行されません。
つまり、次のような流れになっています。
条件式
↓
True または False
↓
if文で処理を分岐
比較演算子を使うとbool型になる
bool型を作る方法として、よく使われるのが比較演算子です。
例えば、次の式を実行してみましょう。
10 > 5
結果は、
True
になります。
一方、次の式はどうでしょうか。
10 < 5
これは、
False
になります。
代表的な比較演算子には以下があります。
| 演算子 | 意味 | 例 | 結果 |
|---|---|---|---|
== |
等しい | 10 == 10 |
True |
!= |
等しくない | 10 != 5 |
True |
> |
より大きい | 10 > 5 |
True |
< |
より小さい | 10 < 5 |
False |
>= |
以上 | 10 >= 10 |
True |
<= |
以下 | 5 <= 10 |
True |
例えば、次のコードでは、age >= 18の結果がbool型になります。
age = 20
print(age >= 18)
実行結果は次のとおりです。
True
「=」と「==」の違いに注意
Python初心者が特に間違えやすいのが、=と==の違いです。
=は代入
age = 20
これは「ageに20を代入する」という意味です。
==は比較
age == 20
これは「ageは20と等しいか?」を確認しています。
結果はbool型になります。
age = 20
print(age == 20)
実行結果は次のとおりです。
True
したがって、次のように覚えておきましょう。
=→ 値を代入する==→ 値が等しいか比較する
bool型を使った条件分岐
bool型はif文と組み合わせることで、さまざまな条件分岐を作れます。
例えば、商品の在庫を確認するプログラムです。
stock = 5
if stock > 0:
print("購入できます")
else:
print("在庫切れです")
stock > 0はTrueになるため、
購入できます
と表示されます。
在庫が0なら、次のようになります。
stock = 0
この場合は、
在庫切れです
と表示されます。
andとorでbool型を組み合わせる
複数の条件を組み合わせることもできます。
and
andは両方の条件がTrueの場合にTrueになります。
age = 20
has_ticket = True
if age >= 18 and has_ticket:
print("入場できます")
この場合、
age >= 18 → True
has_ticket → True
なので、結果はTrueです。
or
orはどちらか一方でもTrueならTrueになります。
is_admin = False
is_manager = True
if is_admin or is_manager:
print("管理画面を利用できます")
管理者ではありませんが、マネージャーなので条件を満たします。
notでTrueとFalseを反転できる
notを使うと、bool型の値を反転できます。
is_logged_in = False
if not is_logged_in:
print("ログインしてください")
is_logged_inはFalseですが、notによってTrueとして扱われるため、メッセージが表示されます。
つまり、次のようになります。
True → not True → False
False → not False → True
Pythonではbool型を確認できる
Pythonでは、値のデータ型をtype()で確認できます。
result = True
print(type(result))
実行すると、次のように表示されます。
<class 'bool'>
つまり、Trueはbool型のデータです。
bool()関数とは?
Pythonには、値をbool型に変換するbool()関数があります。
例えば、次のコードを実行します。
print(bool(1))
結果は、
True
になります。
一方、
print(bool(0))
は、
False
になります。
文字列でも同様です。
print(bool("Python"))
結果は、
True
です。
空の文字列の場合は、
print(bool(""))
となり、結果は、
False
になります。
Pythonでは「Falseとして扱われる値」がある
Pythonでは、必ずしもFalseそのものだけが、条件式で「偽」として扱われるわけではありません。
代表的なものには以下があります。
False
None
0
0.0
""
[]
{}
()
例えば、次のコードを見てみましょう。
name = ""
if name:
print("名前が入力されています")
else:
print("名前が入力されていません")
空文字列""はFalseとして扱われるため、
名前が入力されていません
と表示されます。
この仕組みを理解すると、Pythonのコードをよりシンプルに書けるようになります。
bool型と整数型の関係
Pythonでは少し注意が必要なポイントがあります。
Pythonのbool型は、整数型であるintのサブクラスです。
そのため、次のコードはTrueになります。
print(True == 1)
実行結果:
True
また、次のコードもTrueになります。
print(False == 0)
実行結果:
True
ただし、プログラミング初心者のうちは、まず次の基本を理解することをおすすめします。
True→ 真False→ 偽
bool型を使った実践例
ここまでの内容を使って、簡単なログイン判定を作ってみましょう。
user_name = "Taro"
password_correct = True
if password_correct:
print(user_name + "さん、ログインしました")
else:
print("パスワードが間違っています")
password_correctがTrueなので、次のように表示されます。
Taroさん、ログインしました
このようにbool型を使えば、「条件を満たしているか」を変数として管理できます。
bool型はプログラミングの基本
bool型は一見すると単純なデータ型ですが、プログラミングでは非常に重要です。
例えば、次のような状態を表現できます。
- ログインしているか
- 商品が在庫切れか
- 会員かどうか
- 入力内容が正しいか
- ファイルが存在するか
- 処理が成功したか
- 条件を満たしているか
そして、bool型はif文、while文、比較演算子、論理演算子など、プログラミングのさまざまな機能と関係しています。
bool型を理解するとif文が理解しやすくなる
プログラミング初心者が最初につまずきやすいのが、条件分岐です。
しかし、if文の本質はそれほど難しくありません。
基本的には、次のような構造になっています。
if 条件:
処理
そして「条件」の部分を評価すると、最終的にTrueまたはFalseになります。
例えば、次のコードを見てみましょう。
age = 20
if age >= 18:
print("OK")
この場合は、次のような流れになります。
age >= 18
↓
True
↓
print("OK")を実行
つまり、bool型を理解することは、if文を理解するための重要な第一歩と言えます。
bool型についてよくある質問
bool型とは何ですか?
bool型とは、True(真)とFalse(偽)の2つの値を扱うデータ型です。
「はい・いいえ」「オン・オフ」「成功・失敗」など、2つの状態を表現するときに利用します。
bool型は何に使いますか?
主に条件分岐や状態管理に使います。
特にif文と組み合わせて使用するケースが多くあります。
TrueとFalseは文字列ですか?
いいえ。
PythonではTrueとFalseは文字列ではなく、bool型の値です。
True
False
と記述します。
一方、次のようにダブルクォーテーションで囲むと、これは文字列になります。
"True"
"False"
bool型はPythonだけにありますか?
いいえ。
bool型(または論理型)は、Pythonだけでなく、JavaScript、Java、C、C++、C#など、多くのプログラミング言語で利用されています。
ただし、言語によって値の表記や扱いには違いがあります。
まとめ:bool型は「TrueかFalseか」を扱うデータ型
bool型は、プログラミングにおいて非常に基本的なデータ型です。
ポイントを整理すると、次のようになります。
- bool型は「真・偽」を表すデータ型
- Pythonでは
TrueとFalseを使う - 条件式の結果はbool型になる
if文による条件分岐でよく使われるand・or・notで条件を組み合わせられるbool()で値をbool型に変換できる- さまざまなプログラミング言語で利用されている
特に初心者の方は、まず
True
False
の意味を理解し、次にif文や比較演算子、and・or・notを学ぶと、条件分岐の仕組みが理解しやすくなります。
bool型は、プログラミングを学ぶうえで避けて通れない基本概念の一つです。





