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ではTrueFalseは文字列ではなく、bool型の値です。

True
False

と記述します。

一方、次のようにダブルクォーテーションで囲むと、これは文字列になります。

"True"
"False"

bool型はPythonだけにありますか?

いいえ。

bool型(または論理型)は、Pythonだけでなく、JavaScript、Java、C、C++、C#など、多くのプログラミング言語で利用されています。

ただし、言語によって値の表記や扱いには違いがあります。

まとめ:bool型は「TrueかFalseか」を扱うデータ型

bool型は、プログラミングにおいて非常に基本的なデータ型です。

ポイントを整理すると、次のようになります。

  • bool型は「真・偽」を表すデータ型
  • PythonではTrueFalseを使う
  • 条件式の結果はbool型になる
  • if文による条件分岐でよく使われる
  • andornotで条件を組み合わせられる
  • bool()で値をbool型に変換できる
  • さまざまなプログラミング言語で利用されている

特に初心者の方は、まず

True
False

の意味を理解し、次にif文や比較演算子、andornotを学ぶと、条件分岐の仕組みが理解しやすくなります。

bool型は、プログラミングを学ぶうえで避けて通れない基本概念の一つです。

テックジムPython基礎コース(初心者向け)

対面・無料のプログラミング講座|東京で毎週開催|初心者向けPython講座

 

プログラミング学習に興味がある方は、まずは無料体験会へ

無料体験会・お申し込みはこちら