個人学習のNoteです。初心者向けにPythonの基本部分を紹介しています。
§ プログラミング >フロー制御 >if 条件付き処理
if 構文は条件が成立すれば、別の処理を挿入実行する命令です。プログラムによる処理の進行状況によって、異なった処理を行う個別処理が必要となります。if 構文は条件を設定して、条件が成立した時、又は不成立だった時に実行処理します。条件式の判定結果が異なる状況を前提とするので、外部入力や、繰り返し処理の構文などと組み合わせるケースが多い。
* if 構文は条件付きの処理を設定する。
if 構文は条件式で設定したブール値が真の時に実行する処理を設定します。条件式が真でない時(偽の時)の処理をelse 文で追加することが出来る。 ブール値判定なので、TrueかFalseのいずれかになります。TrueとFalseの直接記載も可能ですが、通常は比較演算子による条件式またの条件式の結果を使用する。if 構文は処理の挿入となるので、if 構文が終了すれば if 構文の後の処理に進みます。
https://docs.python.org/3/reference/compound_stmts.html#the-if-statement
< if 構文 のコーディング方法 >
if "条件式" : (真の時の処理が1つの時にはここに”処理”も可能)
"真の時の処理1" (4字又は8字の下げ) (*注)真の時の処理は省略不可
"真の時の処理2" (4字又は8字の下げ)
:
else : (偽の時の処理が1つの時にはここに”処理”も可能) (*注)else は省略可能
"偽の時の処理1" (4字又は8字の下げ)
"偽の時の処理2" (4字又は8字の下げ)
:
① if の後に条件式(論理演算:Bool 代数)をコーディング。コロン(:)で条件設定の終わり。
② 条件が真の時の処理をコロン(:)の後にコーディングする。真の時の処理の省略は出来ない。
③ 実行される処理が1つだけの場合はコロンの後にコーディングすることが出来る。
④ 改行後は4文字(又は8文字)の文字下げをして処理をコーディングする。
⑤ 文字下げがされている場合は、同じ条件結果での一連の処理として実行される。
⑥ else は if 条件式が偽の時の実行処理をコーディングする。
⑦ elseには条件式は記載せず、コンマ(:)以下に実行処理を if と同じ様にコーディングする。
< if の基本構文例 > : 表を参照ください。
* elif による複数の条件式と、複数のif 条件式
複数の条件によってそれぞれ異なる処理を設定するには、if 文にelif 条件式を加える方法と、if 文を複数作成する方法がある。 2つの方法の違いは、特にelse 処理に出てくる。elif 文で複数の条件式とその条件が真の時の処理のが設定可能となる。else はif とelif のすべての条件式が真でない時(偽の時)の処理を追加することが出来る。
< elif のあるif 構文 >
if "条件式" :
"if 条件式が真の時の処理1" (4字又は8字の下げ) (*注)真の時の処理は省略不可
elif "条件式1" : (真の時の処理が1つの時にはここに”処理”も可能) (*注)elif 文は省略可能。
"elif 条件式1が真の時の処理" (4字又は8字の下げ)
elif "条件式2" : (真の時の処理が1つの時にはここに”処理”も可能)
"elif 条件式2が真の時の処理" (4字又は8字の下げ)
:
else :
"偽の時の処理1" (4字又は8字の下げ)
① elif 文はif 処理文の後、else 文の前。if とelse のコーディング方法はそのまま。
② elif の書き出しは if と同じ位置。文字下げはしない。実行する処理のコーディング方法は同じ。
③ elif 文は複数コーディング出来る。 真のeles 条件式が有れば以下のelse 文は実施しない。
④ else は if の条件式および併記された elif の条件式がすべて偽の時に実行される。
< elif を複数組み込んだif 文 と、複数のif 文の組み合わせ 文例> :表2を参照
1) if 構文に複数のelif 条件式を含む (表2 前半)
if とelifの条件式を並べた場合、真になる条件があればそこに設定された処理を行い、以後の条件式は評価されません。if とelif 条件式の内の1つの結果だけが表示されます。
すべての条件式が偽の場合に elseが実行されています。
2) 複数のif 構文を並記する (表2 後半)
複数if 条件式を並べた場合、真になる条件があればそこに設定された処理を行い、以後のif文に実行は移ります。if 条件式ごとの複数の結果が表示されます。
else 文は1つのif 文について1つ設定が可能。他のif 文に結果には影響しない。
3) if else 文を入子にした場合
elif はif とelseの組を簡略的に出来ているので、if とelesの組文を入子にすることによっても、複数elif を含むif 文をと同じ結果のコーディングが可能となります。 上記表2の前半と同じ処理は次の様にして出来ます。
このようなif とelseの組みを入れ子にした複数の条件式ではプログラムが長く、少し煩雑になる場合があります。 elif を使う方がスマートになる場合も多いので使い分けが必要です。
〇 関連する IG.Python Note の公開記事
以上
0コメント