if文の使い方です。
if文は、処理の場合分けをするときに使う制御構文で、条件分岐を作ることができます。
制御構文とは
- if文
- while文
- for文
pythonには3種類の制御構文があります。
プログラムはコードの順に処理を実行しますが、順番ではない進めかたをするために、プログラムの流れをかえる制御構文が用意されています。
if文は条件によって処理を分岐するときに、while文とfor文は処理を繰り返すときに使います。
条件分岐の使い方
条件分岐の基本的なパターンは、次の4種類です。
順番に使い方を見ていきましょう
- if
- if – else
- if – elif
- if – elif – else
if文
まずは、if文でどのように処理が分けられるかフローチャートを見てみましょう。
図1では、<条件式>と[処理2]にif文を使います。
<条件式>の条件に一致するときは、[処理2]を実行しますが、条件に一致しないときは、そのまま(終了)します。
それでは、if文をpythonで書いてみましょう。
このif文を図1に当てはめると、
<条件式>pが0に一致したら、[処理2] pに1を加算して、pを表示する 。
となります。
pを1やほかの数字に変えて実行してみてください。
何も表示されませんよね。
実行後、すぐに(終了)しているからです。
pが0に一致しないときにも何か処理をしたいときがありますよね。
そんなときは、if – else文を使います。
if – else文
if-else文でどのように処理が分けられるかフローチャートを見てみましょう。
図2では、if文に、[処理3]が追加されています。
<条件式>の条件に一致しないときは、[処理3]を実行してから(終了)します。
このif文を図2に当てはめると、実行されたのは、
<条件式>pが0に一致しないので、[処理3] pに10を減算して 、pを表示する 。
となります。
これで、pがどんな数字でも、処理が実行するようになりました。
次は、数字によって処理を分けていく方法を見てみましょう。
if – elif – else文
条件分岐が2つあるif文です。
1つ目の条件分岐はif、2つ目以降はelif、最後にelseを使います。
if-elif-else文でどのように処理が分けられるかフローチャートを見てみましょう。
elseを省略すると、[処理4]は実行されません。
pythonでは、2つ目の条件分岐をelifと記述しますが、else ifと記述する言語もあります。
このif文を図3に当てはめると、実行されたのは、
<条件式1>pが0に一致しないので、<条件式2>へ
<条件式2>pが1に一致しないので、[処理3]pに4を加算する 。
if文の次、[処理5]pを表示する。
となります。
elifはいくつでも使えるので、複数の処理に分けることができます。
また、if – else文の例では、[処理2]と[処理3]で同じ処理print(p)を記述していますが、if – elif – else文の例では、[処理5]としてまとめています。
コードは簡潔しておくと、バグや修正もれが起きにくいですよ。
if文の書き方
if文の使い方がわかったところで、Pythonでの記述方法を詳しく見てみましょう。
if <条件式>: [処理]
if 半角スペース <条件式> 半角コロン(:)と記述します。
上の例では、改行していますので、[処理]の前を半角スペースで字下げしています。
jupyuter notebookを使うと、自動で字下げしてくれますね。
Pythonは、字下げでif文の範囲を決めているので、忘れないようにしましょう。
if <条件式> then と記述する言語もありますが、Pythonではthenが:(コロン)になります。
コードの記述量が少なくてよいですが、写経するときは書き忘れないようにしましょう。
elif <条件式>: [処理]
elif 半角スペース <条件式> 半角コロン(:)と記述します。
ifがelifになりますが、あとは同じです。
else ifと記述する言語もありますが、Pythonは短くelifになります。
else: [処理]
else 半角コロン(:)と記述します。
elseには条件式がないので、:(コロン)に続いて[処理]を記述します。
まとめ
- if文を使うと、条件式に一致した処理のみを行うことができる
- if-else文を使うと、条件分岐で処理を2つに振り分けることができる
- if-elif-else文を使うと、複数の条件分岐により処理を振り分けることができる
Pythonのif文の使い方がわかったでしょうか。
if文は、プログラムの構造を作るための制御構文で、条件に応じて処理を分岐させることができました。
今回の解説は、条件が一致する場合の条件式だけでしたので、ほかの条件式の使い方も身につけてスキルアップしてください。