🙌

Pythonの基礎 ~条件分岐~

に公開

0.はじめに

こちらの記事ではPythonの条件分岐について学べます。
自動化に限らず、アプリを作るにあたって様々なシチュエーションが考えれます。
Aになった場合、Bという処理をする
のようなある条件の場合に行う処理をする方法をここでは解説をしていきます。

0.1 インデント

Pythonはプログラムのコードを実行するのにインデントというのが非常に大事になります。
インデントとは、文字の先頭にスペースを作ることです。
もし、条件やループ処理や関数を行うさいはインデントを入れなければエラーになってしまうか、
想定通りの処理が実行されません。
例えばif文だとこのようにインデント入れないといけません。

# OK
if 1 == 1:
  print("これはOK")
else:
  print("これもOK")
  
# NG
if 1 == 1:
print("これはNG")
else:
print("これもNG")

わかりますでしょうか?
printの先頭に半角スペースが2つ入っています。
これがないとifの中の処理なのか、ifの次の処理なのかでPythonがわからなくなりエラーになってしまいます。
なので、条件やループ処理や関数を実行する場合はインデントに気をつけましょう。

1. 条件分岐

1.1 真偽

条件を式を書く際にbool型(真偽)で返す式を使う必要があります。
実際に使うboolを返す式をリスト化したので、
自分が指定したい条件があった場合、どれに該当するのかを次のリストから参考にして
使用してみてください。

等しいかどうか:a == b
等しくないかどうか:a != b
より大きいかどうか:a > b
より小さいかどうか:a < b
以上かどうか:a >= b
以下かどうか:a <= b
要素が含まれているかどうか:element in collection
要素が含まれていないかどうか:element not in collection
論理AND:condition1 and condition2
論理OR:condition1 or condition2
論理NOT:not condition
オブジェクトがNoneかどうか:obj is None
オブジェクトがNoneでないかどうか:obj is not None
オブジェクトの型が特定の型かどうか:isinstance(obj, SomeType)

1.2 条件指定

Pythonで条件分岐を行うにはif・elif・elseの3つを使います。
それぞれ解説していきます。
if: 条件を指定
elif: ifの次に条件を指定
else: if・elifにも該当しない場合
条件を指定するは真偽で変える式を指定する必要があれます。
では、実際にコードに書いて解説していきます。

num = 3
if num > 1:
  print("numは1より大きいです。")
else:
  print("numは1以下です。")

これを実行するとnumは0より大きいです。と返ってきます。
これはifの部分で3>1の結果が真のためnumは0より大きいです。と帰ります。
では、次はnum = 1にコードを書き換えて実行してみてください。
すると次はnumは1以下です。と返ってきます。
これはifの部分で1>1は偽であり、次の処理elseに移行したためです。

これにelifを追加してみます。

num = 3
if num > 5:
  print("numは1より大きいです。")
elif num == 3:
  print("numは3です。")
else:
  print("numは1以下です。")

これを実行するとnumは3です。と返ってきます。
ifの部分で3>5で偽になり次の処理に移行します。
elifの部分で3==3で一致するため真になります。
なので、elifの中の処理が実行され、numは3です。が表示されます。

Discussion