【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)」⇒「条件②/それ以外」…といった書き方ではなく、
- 実行条件(
if
)を満たした場合の処理内容 if
の実行条件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を扱う上では切っても切れない要素ですので、しっかりと使い方を身につけておくようにしましょう。