Pythonのbool型について現役エンジニアが解説【初心者向け】

初心者向けにPythonのbool型について現役エンジニアが解説しています。bool型とはTrueとFalseの2種類の値を取るデータ型のことです。真偽値とも言います。bool型の値は、trueやfalseを返す関数の中で使われたり、if文などの条件分岐、for文などの繰り返し文で使われます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Pythonのbool型について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

 

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonのbool型について詳しく説明していくね!

大石ゆかり

お願いします!

 
他の言語同様Pythonにもbool型の変数を設定できます。

この型はif文等の条件を分岐するときによく使われます。また、さまざまな型でbool型を使う機会が出てきますので、使い方に慣れておくことをおすすめします。
 
 

目次

 

bool型とは

bool型にはTrueとFalseの2種類しかありません。

また、この型の最初の文字は大文字で指定する必要があります。万が一trueと全てを小文字で指定した場合にはエラーを返します。

整数、小数等の数値にbool型の判定を行う場合、0の場合にはFalseをそれ以外の場合にはTrueを返します。
 

[PR] Pythonで挫折しない学習方法を動画で公開中

bool関数の使い方

bool関数は関数内での処理の結果TrueやFalseを返す関数となります。

例えば関数かどうかを判定するbool関数を作成すると下記のようになります。

def odd_or_even(num):
    if num % 2 == 0:
        return True
    else:
        return False

偶数か奇数かを判定するため、2で割ったあまりが0のものをTrue1のものをFalseとして値を返しています。

ここでもし余りの数値を使ってif文判定してみるとどうなりますでしょうか?

おそらく逆の結果が得られたと思います。これはTrueが1,Falseが0に対応しているため、余り0をFalseとして扱ったため、else文にて値を返してしまったことに起因しています。

では、if not文を使えば良かったのでしょうか? そうすると今度はますます読みにくいコードとなってしまいます。余りが0のもの→0はFalse→if not文で処理される方という頭を動かす必要がでてきます。

できる限り誰が読んでもわかるコードを書くことを心がけると良いと思います。そのため、今回は余りが0ということを明示的に記述した方法を使いました。
 

実際に書いてみよう

指定した数字の範囲に3の倍数と3がつく数字のときに数字を出力してみましょう

コード

# -*- coding: utf-8 -*-
def ahoninaru(num):
if num % 3 == 0 or '3' in str(num):
return True

def aho_checker(num_list):
for num in num_list:
if ahoninaru(num):
return True

num_list_checker = True
while num_list_checker:
start_num = input("初めの数字を入れてください" )
end_num = input("最後の数字を入れてください" )
num_range = range(start_num, end_num + 1)
if aho_checker(num_range):
num_list_checker = False
else:
print("アホになれません… もう一度お願いします。")

for num in num_range:
if ahoninaru(num):
print("{}!!".format(num))

解説

まずは今回対象となる3の倍数または3が含まれる数字がないかをチェックします。
対象がない場合にはもう一度入力するように促しまます。そして、対象となる数字を印刷します。

今回使用しているfunctionは2つです。

1つは3の倍数か3が含まれる数字が含まれているかを判定するdef ahoninaru(num)関数です。もう一つは、リストをチェックする関数ですが、含まれるかの判定は一つ目の関数を利用しています。
 

まとめ

今回はbool関数を使って簡単なゲームを作ってみました。

bool型は条件分岐に非常に役立ちますので、利用してみてください。
 

監修してくれたメンター

メンターkatoさん

学生時代に数値解析のためにプログラミングを始める。現在は企業にて専門職として働くかたわら、プログラムを書き業務効率化を図っている。

現在のメイン言語はPython, JavaScript。また、企業内の希望者にPythonのメンターとして基礎から教えている。テックアカデミーではJavaScriptを教える。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。