ブール型と論理演算
Pythonにおいて、ブール型(Boolean)は、True
とFalse
の2つの値を持つ特別なデータ型です。条件分岐などの制御構文で頻繁に用いられ、プログラムの流れをコントロールする上で重要な役割を果たします。
ブール型とは
ブール型は、以下の2つの値を取るデータ型です:
True
(真)False
(偽)
例えば、数値の比較を行うとTrue
かFalse
が返ってきます。
print(5 > 3) # True
print(2 == 5) # False
これらの比較演算子から返される値がブール型であり、条件式としてもしばしば利用されます。
比較演算子と条件式
ブール型を返す代表的な演算には、以下のような比較演算子があります:
==
: 等しいかどうか!=
: 等しくないかどうか>
、<
: 大小比較>=
、<=
: 以上/以下比較
こうした比較の結果得られるTrue
やFalse
を用いて、if
文などで条件分岐を行います。
score = 85
if score >= 80:
print("合格点です!")
else:
print("もう少し点数を上げましょう。")
この場合、score >= 80
がTrue
であればif
ブロックを実行し、False
であればelse
ブロックを実行します。
論理演算子 (and, or, not)
複数の条件を組み合わせたり、条件を反転させたりするために、以下の論理演算子を使います:
and
: 両方の条件がTrue
であればTrue
or
: いずれか一方でもTrue
であればTrue
not
:True
をFalse
に、False
をTrue
に反転
例えば、成績が80点以上で欠席回数が3回未満の場合に特別プログラムへ招待するケースを考えてみましょう。
score = 85
absent = 2
if (score >= 80) and (absent 3):
print("特別プログラムに招待します。")
else:
print("次の機会をお待ちください。")
このように、and
を用いて複数の条件をTrue
かどうか判定し、条件に合致した場合のみ特定の処理を行うことができます。
また、or
を使えば「どちらか一方でもTrue
ならOK」という条件、not
を使えば条件を反転させることができます。
# or の例
weather = "rainy"
has_umbrella = True
if (weather == "sunny") or (has_umbrella):
print("外出できます。")
else:
print("家にいましょう。")
# not の例
is_night = False
if not is_night:
print("外が明るいです。")
このようにブール型と論理演算子を上手に組み合わせると、より複雑な条件をシンプルに表現できます。
まとめ
ブール型のTrue
とFalse
は、プログラムの条件判定において非常に重要な役割を担います。比較演算子で得られる結果を活用し、and
・or
・not
といった論理演算子を組み合わせることで、複雑な条件分岐をわかりやすく表現することが可能です。プログラムを書く際には、条件判定の仕組みをしっかり理解し、より読みやすく保守しやすいコードを書くように心がけましょう。