【Python入門】if文での条件指定やelif/else節の使い方について解説

Pythonでは、if文にて特定の条件下でのみ処理を実行するといった操作が可能です。

if文が使いこなせるようになると、様々な条件に応じて処理を分岐させることができます。

この記事では、if文を使った条件指定の記述法や、elif/else節の使い方について解説します。

目次

基本的な使い方

if文の記述方法として、「実行条件(:の手前で記述)」の条件に応じて、条件が当てはまる場合のみ処理を実行します

その際指定する条件は、結果が真か偽か(True/False)の2択で表せるようにする必要があるため、演算子を用いて記述することが多いです。

演算子…計算や値の大小を比較する際に使用する記号・シンボル

また、Pythonではインデント(字下げ)した内容に対して「この部分がif文で行う処理」と認識する仕様になっています。

そのため、処理内容については必ず字下げを行うようにしてください

num = 5  # numという変数に、数値(5)を保持

if num >= 1:  # num(数値)の値が1以上の場合、以下の処理を実行
    print(num >= 1)  # 「num >= 1」の結果を表示

= 実行結果 =

True

if文に当てはまらない場合の処理

if文では1つの実行条件だけでなく、様々な条件に応じて処理を分岐させることも可能です。

【elif節】if文以外で条件判定をしたい場合に使用

elif節では、それ以前の条件が当てはまらない場合に、新たに判定する実行条件を指定できます。

elifを使う際は、それより前にif文を記述しておく必要があります。

また、elif何回でも使用が可能です。

プログラムのは上から順番に実行されるため、elifを複数指定した場合は

  • ifの条件を満たさなかったらelif(1)の条件を判定
  • elif(1)の条件を満たさなかったらelif(2)の条件を判定…

といった形で条件の判定を行います。

num = 5  # numという変数に、数値(5)を保持

if num < 0:  # num(数値)の値が0未満の場合は、以下の処理を実行
    print(num, "は0未満")  # num(5)の中身と文字列を表示
elif num >= 3:  # num(数値)の値が3以上の場合は、以下の処理を実行
    print(num, "は3以上")  # num(5)の中身と文字列を表示

= 実行結果 =

5 は3以上

【else節】if/elifの条件に該当しない場合の処理を指定

else節では、どの条件も当てはまらない場合に実行する処理内容を指定できます。

そのため、elseを使う場合は、それより前にif文およびelif節を記述しておく必要があります。

num = 5  # numという変数に、数値(5)を保持

if num < 0:  # num(数値)の値が0未満の場合は、以下の処理を実行
    print(num, "は0未満")  # num(5)の中身と文字列を表示
else:  # 上に欠かれた条件が当てはまらない場合は、以下の処理を実行
    print(num)  # num(5)の中身を表示

= 実行結果 =

5

条件指定の応用例

if文では、一度に複数の条件を指定したり、「~ではない」の形で記述することも可能です。

この先では、if文を使った応用的な活用方法について紹介します。

複数条件を指定する場合(and/or)

一度に複数の条件を指定する際は、andあるいはor演算子を使用します。

andでは、双方の条件が両方当てはまる場合のみ、if文の処理内容を実行します。

またorは、複数条件のうちどちらか一方が当てはまる場合に実行する演算子です。

num = 5  # numという変数に、数値(5)を保持

if num >= 1 and num < 10:  # num(数値)の値が1以上かつ10未満の場合、以下の処理を実行
    print(num >= 1, num < 10)  # 「num >= 1」と「num < 10」の結果を表示

if num < 0 or num >= 5:  # num(数値)の値が0未満または5以上の場合、以下の処理を実行
    print(num < 0, num >= 5)  # 「num < 0」と「num >= 5」の結果を表示

= 実行結果 =

True True
False True

否定条件を指定する場合(not)

「~でない」の形で条件を指定したい場合は、not演算子を使用します。

notの活用方法として、真偽値(bool型)に対する判定や、複数条件の指定時に使用することが多いです。

flg = False  # flgという変数に、真偽値(False)を保持
num = 5  # numという変数に、数値(5)を保持

if not flg:  # flg(真偽値)がTrueでなければ、以下の処理を実行
    print(not flg)  # 「not flg」の結果を表示

if not num < 0 or num >= 10:  # num(数値)の値が0未満または10以上でない場合、以下の処理を実行
    print(num < 0, num >= 10)  # 「num < 0」と「num >= 10」の結果を表示

= 実行結果 =

True
False False

一行でif-elseを記述したい場合

if文やelse節のたびに改行せず、一行で記述したい場合は上図のように記述します。

この場合、通常の「条件①(if)」⇒「処理内容①(if)」⇒「条件②/それ以外」…といった書き方ではなく、

  1. 実行条件(if)を満たした場合の処理内容
  2. ifの実行条件
  3. ifの条件を満たさなかった場合の処理内容(else)

といった順で指定していきます。

また、上で示したようにif-elseを3つの項にて記述する方法を「三項演算式」と呼びます。

num = 5  # numという変数に、数値(5)を保持

 # numの値が1以上なら「OK」、そうでないなら「NG」を表示
print("OK") if num >= 1 else print("NG")

= 実行結果 =

OK

まとめ

この記事では、if文を使った条件指定の記述法や、elif/else節の使い方について解説しました。

if文を使うと、様々な値や演算結果に応じて処理内容を変えられるため、特に重宝する記述法の一つとなっています。

Pythonを扱う上では切っても切れない要素ですので、しっかりと使い方を身につけておくようにしましょう。

シェアはこちらから
目次