Pythonプログラミング初心者に向けて、bool型(真偽値型)と比較演算子について解説します。
これまで、「型の基本・型の変換」や「型の確認・変換の補足」で型について学びました!
今回はどんな勉強をしていくんですか?
今回は「bool型(真偽値型)」っていう新しい型について勉強していきます!
またbool型を用いる上で本当によく使う「比較演算子」についても教えます!
今回は「bool型(真偽値型)」という型と「比較演算子」について学びます。
次回説明するif文といった本格的なプログラムを書く上で必須の考え方になりますので、この機会に概念を理解していただければと思います。
まずは「bool型(真偽値型)」の基本から順番に勉強していきましょう!
bool型(真偽値型)
「bool型(真偽値型)」とは日本語の名前の通り、「真(正しい)」と「偽(誤り)」の2種類の値を持つことができる型となります。
bool型では「真(正しい)」場合は「True」、「偽(誤り)」の場合は「False」の値を持ちます。
プログラムでは2択を迫ったり、条件によって異なる処理させたいときに非常によく用います。
以下のプログラムでbool型変数を作って、値や型を確認してみましょう。
#「真」の場合のTrue
bool1 = True
# bool1の値を出力
print("bool1の値:",bool1)
# bool1の型を出力
print("bool1の型:",type(bool1))
#実行結果
# bool1の値: True
# bool1の型: <class 'bool'>
#「偽」の場合のFalse
bool2 = False
# bool2の値を出力
print("bool2の値:",bool2)
# bool2の型を出力
print("bool2の型:",type(bool2))
#実行結果
# bool2の値: False
# bool2の型: <class 'bool'>
プログラムで改めて見ていただいた通り、bool型は「True」「False」の二択の値しか持ちません。
次に、bool型の型変換についてふれます。
Pythonではbool型をint型に型変換することができます。
bool型の「True」「False」はint型に変換するとそれぞれ「1」「0」になります。
#「真」の場合のTrue
bool1 = True
# bool1の「True」をint型に変換し出力
print("int型に変換したbool1:",int(bool1))
#実行結果 int型に変換したbool1: 1
#「偽」の場合のFalse
bool2 = False
# bool2の「False」をint型に変換し出力
print("int型に変換したbool2:",int(bool2))
#実行結果 int型に変換したbool2: 0
新しく出てきたbool型の使い方もわかってきました!
「True」「False」の先頭文字だけ大文字なのは注意ですね。
bool値の基本的な考え方を理解してもらえたましたか?
じゃあ続いてbool値ととっても関係が深い「比較演算子」について学んでいきます!
bool値の基本的な考え方が理解できたら、より実践的にbool値を用いるための「比較演算子」について学んでいきます。
比較演算子
「比較演算子」とは二つの値の関係性を調べるために用いられます。
2つの値が大きい、小さい、同じなどを「比較」する「演算子」です。
比較した結果は先ほど解説したbool値で返ってきます。
まずは比較演算子を一通り見てみましょう!
比較演算子 | 説明 | 使用例 | 実行結果 |
> | 左の値が右の値より大きいかどうかを比較します。 数学の「大なり(>)」と同じ意味です。 | 3 > 1 | True |
< | 左の値が右の値より小さいかどうかを比較します。 数学の「小なり(<)」と同じ意味です。 | 5 < 3 | False |
>= | 左の値が右の値以上か(同じか、または、より大きいか)どうかを比較します。 数学の「大なりイコール(≧)」と同じ意味です。 | 5 >= -1 | True |
<= | 左の値が右の値以下か(同じか、または、より小さいか)どうかを比較します。 数学の「小なりイコール(≦)」と同じ意味です。 | 2 <= 2 | True |
== | 左の値と右の値が同じかどうかを比較します。 数学の「イコール(=)」と同じ意味です。 ※Pythonだと「=」は変数の代入に用いるので、比較演算子は「==」として区別しています。よく間違えるので注意! | 1 == 1 | True |
!= | 左の値と右の値が異なるかどうかを比較します。 数学の「ノットイコール(≠)」と同じ意味です。 | 3 != 5 | True |
比較演算子について一通り見ていただけたでしょうか。
特に以下の2つの違いは理解しておきましょう。
・「>(大きいか)」と「>=(同じ、または、大きいか)」
・「<(小さいか)」と「<=(同じ、または、小さいか)」
また、表中にも記載しましたが同じかどうかの比較には「==」(イコール2つ)を用いますので、よく間違えるので注意してくださいね。
それでは以下のプログラムで紹介した比較演算子を全て用いてみましょう!
#「>」で値を比較して出力
print(2 > 1)
#実行結果 True
#「<」で値を比較して出力
print(5.2 < 2.1)
#実行結果 False
#「>=」で値を比較して出力
print(8 >= -1)
#実行結果 True
#「<=」で値を比較して出力
print(8.1 <= -1.4)
#実行結果 False
#「==」で値を比較して出力
print(3 == 3)
#実行結果 True
#「!=」で値を比較して出力
print(3 != 3)
#実行結果 False
上手く実行できたら、比較する値を自分で変えてみると理解が深まっていくと思います。
「比較演算子」の意味が分かってきました!
比較した結果はbool型の値で出力されているのもわかりました!
上の例ではint型(整数値)とfloat型(小数値)の比較をしているけど、str型(文字列)の比較はできないんですか?
良いところに気が付きましたね!!
str型の文字列でも一部の「比較演算子」が使えるんですよ!
str型(文字列)に対しても比較演算子を用いることができます。
ここでは良く使う「==(同じか)」「!=(異なるか)」の比較演算子の例を見ていきます。
以下の変数を用いた文字列の比較の例を見てみましょう!
# 変数animalに「cat」を代入
animal = "cat"
#変数animalの値と"cat"が同じか
print(animal == "cat")
#実行結果 True
# "cat"=="cat"の比較のため
#変数animalの値と"dog"と異なるか
print(animal != "dog")
#実行結果 True
# "cat"!="dog"の比較のため
文字列が同じか異なるかどうかを比較できたでしょうか。
文字列のstr型でも比較演算子を使うことができました!
それに値の比較をコンピュータにしてもらったら一気にプログラムを書いてる感じがでてきました!
プログラミングの面白さをまた一歩感じられてきたみたいですね!
次回、if文の解説をする上で今回の内容は重要になるからしっかり理解してほしいです!
確認問題を解いてもっと理解を深めていきましょう!
それでは、これまでの内容を以下の問題でおさらいしてみましょう!
確認問題
以下のコードを見て、各問題における出力結果を答えてください。
#①出力結果はTrueかFalseか
print("問題①:",3 < 2)
#➁出力結果はTrueかFalseか
print("問題➁:",3 <= 3)
#変数numを生成
num = 5
#③出力結果はTrueかFalseか
print("問題③:",num >= 3)
#④出力結果はTrueかFalseか
print("問題④:",num != 3)
#変数textを生成
text = "いぬ"
#⑤出力結果はTrueかFalseか
print("問題⑤:",text == "イヌ")
確認問題 解答
以下が解答(出力結果)です。
わからなかった場合は実際に自分で書いて実行してみましょう。
"""
問題①: False
問題➁: True
問題③: True (numの「5」と「3」を比較しています)
問題④: True (numの「5」と「3」が異なるか比較しています)
問題⑤: False (ひらがなとカタカナは同じ単語でも違う文字列です。)
"""
まとめ
今回はbool型や比較演算子を考え方と使い方を学びました。
この内容は今後、条件分岐や繰り返し処理といったより複雑な処理をプログラミングする上で大切な考え方となっていくと感じます。
bool型と比較演算子の基礎を忘れてしまった場合にもこのページに戻ってきていただき、復習に利用していただければと思っています。
このサイトの記事一覧へは以下へアクセス!
コメント