Pythonの真偽値

真偽値True(真)かFalse(偽)のどちらかの値。条件分岐繰り返しなど、条件によってプログラムの動作を変えるときに使う。

  1. 真偽値
  2. 比較演算子
  3. if文の例

真偽値

真偽値True(真)かFalse(偽)のどちらかの値。例えば2 < 1という式は正しくないのでFalseになる。

print(2 < 1) # False

上のような真偽値を返す式は、条件分岐繰り返しなど条件を判断するときに使う。

式でなくても、オブジェクトもbool関数を使えば真偽値に変換されるので、オブジェクトも真偽値の判定に利用できるNoneや数値の0''(空文字)、[](空のコンテナ)はFalse

print(bool(None)) # False
print(bool(0)) # False
print(bool(0.0)) # False
print(bool('')) # False
print(bool([])) # False

比較演算子

2 < 1」のようにオブジェクトを比較してTrue(比較が正しい)かFalse(比較が間違っている)の値になる式は、主に条件分岐繰り返し文など、条件を判断するときに使う。

比較に使う記号を比較演算子という。

比較演算子
記号 真偽値の例 意味
== a == b aとbは等しい
!= a != b aとbは等しくない
< a < b aはbより小さい
< a <= b aはb以下
> a > b aはbより大きい
> a >= b aはb以上
print(2 == 2) # True
print(2 != 2) # False
print(2 > 1) # True
print(2 > 3) # False

複数の条件をまとめて一つの条件とする場合は、and(かつ)、or(または)、()(条件を括る)を使って式を追加していく。

# どちらもTrueなら全体がTrue
真偽値1 and 真偽値2

# いずれかがTrueなら全体がTrue
真偽値1 or 真偽値2 or 真偽値3

# 真偽値1がTrueのとき、または、真偽値2と真偽値3が両方Trueのとき、全体がTrue
真偽値1 or (真偽値2 and 真偽値3)

if文の例

ifelifの右にある式が真偽値の判定が行われる条件式

スキル = 7 # プログラミングの上達度
経験年数 = 3
言語数 = 5 # こなせる言語の数

if スキル > 10 or ( 経験年数 >= 10 and 言語数 >= 10 ):
  print("達人プログラマ")
elif スキル > 5:
  print("まあまあ")
else:
  print("まだまだ")

出力は「まあまあ」。