Python - 条件分岐の書き方
if 文
if 文の基本構造は以下の通りです。条件式や else
の末尾には :
を付ける必要があります。また、Python の else if
は elif
と略称のように表記し、複数定義しても問題ありません。条件式が1つだけの場合、elif
や else
のブロックは省略することができます。
if 条件式 1:
条件式 1 が True のときに行う処理
elif 条件式 2:
条件式 1 が False で、条件式 2 が True のときに行う処理
...
else:
すべての条件式が False のときに行う処理
if 文の基本構造
比較演算子による条件指定
比較演算子による条件指定は、結果が True
、または False
を返す演算で条件を指定します。Python の比較演算子は以下のとおりです。
x < y
x
がy
より小さければTrue
x <= y
x
がy
以下であればTrue
x > y
x
がy
より大きければTrue
x >= y
x
がy
以上であればTrue
x == y
x
とy
の値が等しければTrue
x != y
x
とy
の値が等しくなければTrue
x is y
x
とy
が同じオブジェクトであればTrue
x is not y
x
とy
が異なるオブジェクトであればTrue
x in y
x
がy
に含まれていればTrue
x not in y
x
がy
に含まれていなければTrue
以下は比較演算子による条件指定を行った if
文のサンプルコードです。
if num > 100:
print('100 < num')
elif num > 50:
print('50 < num <= 100')
elif num > 0:
print('0 < num <= 50')
elif num == 0:
print('num == 0')
else:
print('num < 0')
比較演算子による条件指定を行った
if
文のサンプルコードPython では、他の言語とは異なり比較演算子を連結して記述することもできます。
if 50 < num < 100:
print('50 < num < 100')
else:
print('num <= 50 or num >= 100')
比較演算子を連結した
if
文のサンプルコード リストや文字列に特定の要素が含まれているかを条件にする場合は in
、または not in
を使用します。
s = 'pineapple'
if 'apple' in s:
print('apple が含まれています')
else:
print('apple が含まれていません')
比較演算子
in
を使用したサンプルコード論理演算子による条件指定
論理演算子による条件指定によって、複数の条件の論理積 (and
)、論理和 (or
)、否定 (not
) を扱うことができます。
x and y
x
かつy
がTrue
であればTrue
x or y
x
またはy
がTrue
であればTrue
not x
x
がTrue
であればFalse
、x
がFalse
であればTrue
以下は論理演算子による条件指定を行った if
文のサンプルコードです。
if 50 < num and num < 100:
print('50 < num < 100')
else:
print('num <= 50 or num >= 100')
論理演算子による条件指定を行った
if
文のサンプルコードbool 型ではない条件指定
if
文の条件式には、bool
型 (True, False
) ではない数値やリストなどのオブジェクトを指定することもできます。
if 10:
print('True')
# True
if [0, 1, 2]:
print('True')
# True
bool
型ではない条件指定を行った if
文のサンプルコード Python の if
文の条件式において、False
とみなされるのは以下のオブジェクトです。以下のオブジェクト以外は、すべて True
とみなされます。
bool
型のFalse
None
- 数値 (
int
型やfloat
型) の0, 0.0
- 空の文字列 (
''
) - 空のコンテナ(リスト、タプル、辞書など) (
[], (), {}
)
上記の仕様を利用すると、コンテナが空であるか調べるコードがシンプルに記述できます。
if list:
print('list is not empty')
else:
print('list is empty')
bool
型ではない条件指定を行った if
文でコンテナが空かどうかを調べるサンプルコード