Python - if による処理の分岐

公開日:2019-02-28 更新日:2019-05-29
[Python]

1. 概要

if で処理の流れを分岐します。

2.1 サンプル

インデントが変わるまで if のブロックになります。
a = 5
if a == 5:
	print(5)
5

2.2 elif と else

elif で、次の条件の判定をすることができます。
elif は複数使うことができます。

else は、if の条件と、elif の条件に一致しなかった場合に処理されます。

a = "a"

if a == "b":
	print("b")

elif a == "c":
	print("c")

elif a == "d":
	print("d")

else:
	print("a");
a

2.3 and と or

複数の条件を満たす必要がある場合は and、
どちらかの条件を満せばよい場合は or で式を結合します。

a = 1
b = "test"
if a == 1 and b == "test":
	print("OK1")

if a == 10 or b == "abc":
	print("OK2")
OK1

動きとしては、最初に if の中の論理演算が行われ、
if はその結果が True か False かだけで分岐しています。

2.4 not

not を使って、否定することができます。
「not (a == 1)」の場合は、「a は 1」ではない、と言う意味になります。

a = 5
if not (a == 1):
	print("1ではありません")

if a != 1:
	print("1ではありません")

1ではありません
1ではありません

2.5 and を使わない複数の条件の指定

Python では、and を使わずに複数の条件を指定することができます。
比較演算子の左右の値をそれぞれ比較して、1つでも成り立たない場合は false となります。

a = 5
if 10 >= a >= 0:
	print("0 ~ 10 です。")

print(5 < 15 > 10 < 20 < 25 > 5)
print(5 == 5 > 1)
0 ~ 10 です。
True
True