Python | if文の使い方

2021年5月22日

公開日: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が出力

以上

Pythonif文

Posted by クマガイ