Python | if文の使い方
公開日:2021/5/21
Pythonでは,if … else文を利用することによって様々な値の正(True)と偽(False)を判断することができる.以下に「基本のif文」と「"elif"を利用したif文」,「比較演算子を利用したif文」,「"and"と"or", “not"を利用したif文」,「"all"と"any"を利用したif文」について説明する.
なお,Pythonでは,以下の値は偽と判断される.
「None」, 「False」, 「0」, 「""」, 「空のリスト・タプル・辞書・セット」
◆実施環境
Python 3.8.8
■基本のif文
if文を実行するため,"if"と"else"のある行の最後にコロン(:)を入れ,次の文は字下げをしなければならない.
“if"の後ろに論理式を書き,"else"はそれ以外の処理をする.以下は変数である"msg"が正か偽を返す処理である.
# 1の処理(True)
msg = 'abc'
if msg:
print('Trueとして処理')
else:
print('Falseとして処理')
# 2の処理(True)
msg = 1
if msg:
print('Trueとして処理')
else:
print('Falseとして処理')
# 3の処理(False)
msg = 0
if msg:
print('Trueとして処理')
else:
print('Falseとして処理')
# 4の処理(False)
msg = ""
if msg:
print('Trueとして処理')
else:
print('Falseとして処理')
# 5の処理(False)
msg = []
if msg:
print('Trueとして処理')
else:
print('Falseとして処理')
■実行結果
# 1の結果
Trueとして処理
# 2の結果
Trueとして処理
# 3の結果
Falseとして処理
# 4の結果
Falseとして処理
# 5の結果
Falseとして処理
■"elif"を利用したif文
if文では複数の論理式を書くことができる."if"の後に最初の論理式を書くが,2番目以降は,"elif"を用いて複数の論理式を書くことができる.
# 1の処理 (seasonが'summer'の場合)
season = 'summer'
if season == 'summer':
print('hot')
elif season == 'winter':
print('cold')
else:
print('comfortable')
# 2の処理 (seasonが'summer'でも'winter'でもない場合)
season = 'spring'
if season == 'summer':
print('hot')
elif season == 'winter':
print('cold')
else:
print('comfortable')
■実行結果
# 1の結果
hot
# 2の結果
comfortable
■比較演算子を利用したif文
if文で論理式を書く場合,以下のような比較演算子を利用することができる
a < b : aはbより小さい
a <= b : aはb以下
a > b : aはbより大きい
a >= b : aはb以上
a == b : aとbは等しい
a != b : aとbは等しくない
if文の処理は以下になる:
# 1の処理 (gram=100の場合)
gram = 100
if gram < 200:
print('200g未満')
elif gram <= 300:
print('300g以下')
elif gram >= 500:
print('500g以上')
else:
print('それ以外')
# 2の処理 (gram=700の場合)
gram = 700
if gram < 200:
print('200g未満')
elif gram <= 300:
print('300g以下')
elif gram >= 500:
print('500g以上')
else:
print('それ以外')
# 3の処理 (gram=400の場合)
gram = 400
if gram < 200:
print('200g未満')
elif gram <= 300:
print('300g以下')
elif gram >= 500:
print('500g以上')
else:
print('それ以外')
■実行結果
# 1の結果
200g未満
# 2の結果
500g以上
# 3の結果
それ以外
■"and"と"or", “not"を利用したif文
if文で論理式を書く場合,以下のように"and"と"or", “not"を利用することができる.
# 1の処理(and文)
food = 'pasta'
gram = 400
if food == 'pasta' and gram > 300:
print('大盛りです')
# 2の処理(or文)
food = 'pasta'
gram = 200
if food == 'pasta' or gram > 300:
print('パスタもしくは大盛りです')
# 3の処理(not文)
food = 'pasta'
if not food == 'soba':
print('そばではない')
■実行結果
# 1の結果
大盛りです
# 2の結果
パスタもしくは大盛りです
# 3の結果
そばではない
■"all"と"any"を利用したif文
if文で論理式を書く場合,以下のように"all"や"any"を利用することができる.
# 1の処理 (all: 全てがTrueである=>Trueの出力)
if all((True, 10, 20 < 30)):
print('Trueが出力')
else:
print('Falseが出力')
# 2の処理 (all: 全てがTrueではない=>Falseの出力)
if all((False, 10, 'water')):
print('Trueが出力')
else:
print('Falseが出力')
# 3の処理 (any: 一部がTrueである=>True)
if any((False, True, 'a' == 'c')):
print('Trueが出力')
else:
print('Falseが出力')
# 4の処理 (any: Trueが1つもない=>Falseの出力)
if any((False, 10 < 5, 0)):
print('Trueが出力')
else:
print('Falseが出力')
■実行結果
# 1の結果
Trueが出力
# 2の結果
Falseが出力
# 3の結果
Trueが出力
# 4の結果
Falseが出力
以上