機械学習・ディープラーニングが一から学べる大人気『脱ブラ』が無料に!

【Python 入門】if 文の使い方をわかりやすく解説!else/elif も紹介

機械学習の講師をしている神部です。

今回は Python における if 文の基本を解説します!if 文は、プログラミングで重要な構文になります。

Python の if 文を学びたい方の参考になれば幸いです!

実行環境

  • Google Colaboratory
  • Python:3.7.10

if 文の使い方

if 文は条件分岐の設定です。具体的には「条件」と「条件が満たされた時の処理」で構成されています。

if 文の基本的な書き方は下図のようになります。

Python の if 文紹介
出典:2.7. 制御構文|Chainer Tutorial

構文をまとめると、下記のようになります。

if 文の構文
if 条件式:
    条件式が満たされた時の処理

まずは if を書き、「条件式」にコーディングされた条件を記述。その下に、条件を満たしたときの処理を書く構成です。

また Python の if 文では、以下2点を必ず押さえておきましょう!

  • 条件式の後に :(コロン) を付けること
  • 処理を書く際は、インデントと呼ばれる半角スペースを入れること(字下げ)
補足
インデントは半角スペース 4 つが一般的です!
参考 はじめに — コードのレイアウト - インデントpep8-ja 1.0 ドキュメント

if 文のサンプルコード

今回は「起床時間」ごとに「何を食べるか」の条件分岐をコーディングしていきましょう。まず、条件は 1 つで設定します。

条件 1
7 時に起床した場合
処理:朝ごはんを食べる(と出力する)

出力する場合は print() 関数を使用します。コードは以下の通りです。

if 文による条件分岐
# 起床時間の設定
time = 7
# 条件分岐の構文
if time == 7:
 print('朝ごはんを食べる')
実行結果
朝ごはんを食べる

注意点は === で意味が変わることです。== は数学的に用いられる「等しい(イコール)」になります。

一方 = は、変数に代入する際に使用します。変数については下記で詳しくまとめていますので、是非ご参照ください!
【Python 入門】変数の基本を初学者向けにわかりやすく解説!

このように、条件(time == 7)と条件を満たしたときの処理(print('朝ごはんを食べる'))をセットで構成します。

では、条件が満たされない時はどうなるでしょうか。

if 文による条件分岐
# 起床時間の設定
time = 8
# 条件分岐の構文
if time == 7:
 print('朝ごはんを食べる')
実行結果
# 何も表示されない

このように、上記のコードでは条件が満たさない時、何も処理されないので注意しましょう!

続いて、条件が満たさなかったときの処理や、複数の条件を設定していきます。

else の使い方

もし if の条件を満たさない時の処理を設定したい場合は、elseを使います。

構文は以下の通りです。

else の構文
if 条件式:
    条件式が満たされた時の処理

else:
    条件式が満たされなかった時の処理

else のサンプルコード

以下のような条件を、else を用いてコーディングしていきます!

条件 1
7 時に起床した場合
処理:朝ごはんを食べる
条件 2
それ以外の場合
処理:朝ごはんを食べない
if 文による条件分岐
# 起床時間の設定
time = 8
# 条件分岐の構文
if time == 7:
   print('朝ごはんを食べる')
else:
   print('朝ごはんを食べない')
実行結果
朝ごはんを食べない

このように 8 時に起きた場合、if の条件を満たさないので、else の処理を実行しました。

つまり、else は条件に「合致しなかったときの処理」を設定します。else の直後は : だけ記述しましょう。

elif の使い方

elif は条件式と処理を追加する際に使用し、書き方は下記のようになります。

elif の構文
if 条件式 A:
    条件式 A が満たされた時の処理

elif 条件式 B:
    条件式 A が満たされず、条件式 Bが満たされた時の処理

else:
    すべての条件式が満たされなかったの時の処理

このように、条件式とその処理を追加する場合は if ではなく、elif を使います。elif は「else if」の略です。

elif のサンプルコード

では、下記条件のサンプルコードを確認してみましょう。

条件 1
7 時に起床した場合
処理:朝ごはんを食べる
条件 2
12 時に起床した場合
処理:昼ごはんを食べる
条件 3
それ以外の場合
処理:何も食べない
if 文による条件分岐
# 起床時間の設定
time = 12
# 条件分岐の構文
if time == 7:
  print('朝ごはんを食べる')
elif time == 12:
  print('昼ごはんを食べる')
else:
  print('何も食べない')
実行結果
昼ごはんを食べる

条件 1 (time == 7)ではなく、条件 2 (time == 12)を満たしたため、「昼ごはんを食べる」が出力されました。

このように、elif を使用することで、条件分岐を増やせます。

elif の書き方や注意点は、if と同じです。

最後に

本記事では Python の if 文の基礎ついて解説しました。
以下、まとめになります。

  • if 文によって、プログラミングの基本である条件分岐が設定できる
  • if で条件(式)を設定する
  • 必要に応じて、elif / else で条件分岐をつくる

if 文はプログラミングの基礎になります。ぜひご自身でさまざまな条件を設定してみて、if 文をマスターしていきましょう!

もし、動画で if 文の内容を学習したい!という方は、元副社長の動画がおすすめです。

また、Python の特訓動画もあります。Python 勉強中の方は、ぜひチャレンジしてみてください!

以上、if 文の基礎的な使い方でした。この記事が皆様の楽しい Python ライフの一助になれば嬉しいです!

参考リンク

参考 Python 3.7.10 ドキュメント 参考 Chainer チュートリアル

大人気コース「Python & 機械学習入門コース」が無料!

現在 e ラーニングプラットフォーム「キカガク」に無料登録すると、これまで多くの方にご受講頂いた、Python の基礎から機械学習の数学やプログラミングまでを学べる大人気コース「Python & 機械学習入門コース」が無料です。

好評である手書きの数学とハンズオン形式のプログラミングを通じて、初学者でも数学の理論から実装まで一から学習できます。また、動画で丁寧に解説しているため、迷うことなく最後まで継続して学習しやすいです。

Python の基礎から機械学習を学習したい方は、ぜひ教材の1つとしてご利用ください!