if :条件式が真ならば追加の処理を実行する

 個人学習の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 の公開記事

for :イテラブル要素を順に設定する回数指定のループ

リストの作成、要素の追加・削除、アクセスと変更

代入・算術・複合そして比較の演算子




以上


IG.Python Note

PythonプログラミングのためのTips集です。 趣味のPythonプログラミングをしていると、必要なプログラミング情報を自分で取集することが必要になります。 集めた情報を整理しておくと便利なので、個人的な学習メモとして記録を作りました。

0コメント

  • 1000 / 1000