ブール値と条件文【Python入門③】
ブール値
真(True)あるいは偽(False)の二つの値のうちどちらか一つを持つデータ型のことを指します。
x = True
y = False
print(x and y) # 出力: False
print(x or y) # 出力: True
print(not x) # 出力: False
比較演算子
== : 等しい。2つの値が等しい場合に True を返す
!= : 等しくない。2つの値が等しくない場合に True を返す
< : 小さい。左の値が右より小さい場合に True を返す
> : 大きい。左の値が右より大きい場合に True を返す
<= : 以下。左の値が右以下の場合に True を返す
>= : 以上。左の値が右以上の場合に True を返す
ブール値の結合
and, or , notを使用してブール値を組み合わせられる
andはorより前に評価される
# 読みづらいコード(エラーは出ない)
prepared_for_weather = have_umbrella or (rain_level < 5 and have_hood) or not (rain_level > 0 and is_workday)
# 改行とかっこで読みやすくする
prepared_for_weather = (
have_umbrella
or ((rain_level < 5) and have_hood)
or (not (rain_level > 0 and is_workday))
)
条件文
if文、if-else文、if-elif-else文があります。コードのブロックを示すコロン(:)と、空白の使い方(4つ分のスペースのインデント)を適切に使用しましょう。
# if-elif-elseの構文
if condition1:
# condition1がTrueのときに実行されるブロック
elif condition2:
# condition1がFalseでcondition2がTrueのときに実行されるブロック
else:
# condition1とcondition2がともにFalseのときに実行されるブロック
# 実際の利用例
score = 85
if score >= 90:
print('Excellent')
elif score >= 70:
print('Good')
else:
print('Needs Improvement')
ブール変換
数値や文字列をブール値に変換することができます。
print(bool(1)) # 全ての数字は0を除き【True】
print(bool(0))
print(bool("asf")) # 全ての文字列は、空白を除き【True】
print(bool(""))
# 一般的に空の文字列、リスト、タプルなどはfalseになります