1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

Python超入門その9〜条件分岐を使いこなそう〜

Pocket

はじめに

変数は使いこなせるようになりましたか?

変数が使えるようになったら、次は制御構造に目を向けてみましょう。
プログラムが進む道はひとつではありません。
ときには分岐したり、同じ場所を行ったり来たりします。
まずは条件による分岐制御について学んでいきましょう。

この記事では、Python初心者の方向けに、Pythonの条件分岐についてお伝えしていきます。
基本的な構文なので、しっかり身につけておきましょう。

そもそも条件分岐ってなに?

条件分岐は、条件によって実行する処理を分けることです。
基本的な考え方は、条件が成立している場合にのみ指定の処理を実行するというものです。
プログラムでは、特定の状態にのみ実行する処理が多数あります。
たとえば、入力欄が空欄のときにエラーメッセージを表示するなどです。

それでは、基本的なif文の使い方からみていきましょう。

基本的なif文の使い方ましょう

最もシンプルなif文は、条件判定をひとつだけ持った構文です。
たとえば、次のような例です。

例:

この例では、文字列変数inputの長さが0の場合にのみif文の内容が実行され、コンソールに”入力欄が空欄です”と表示されます。

1行目で空文字(長さ0の文字列)を代入しているので、条件が成立してif文が実行されます。

if文の条件判定部分には、bool値(TrueかFalse)に判定できるものであれば任意の条件を指定できます。
ifの後のスペースと行末のコロンを忘れないようにしましょう。
なお、if文の本体が1行の場合には、次のようにインラインで書くことも可能です。

例:

改行する場合や複数行の場合には、適切にインデント(字下げ)する必要がありますので注意しましょう。

複数の条件を持ったif文

if文には、複数の条件判定を持たせることもできます。
上から順番に条件が成立するか試していき、成立した時点で該当の処理を実行します。
たとえば、次のようにします。

例:

注意しなければならないのは、2番目の条件以降にはelif文を使うことです。
こうすることでif文のまとまりとして認識され、ひとつの処理のみ実行する(またはなにも実行しない)ことが保証されます。

それぞれを単一のif文として記述した場合には、条件によっては複数のif文が実行される可能性があります。

elif文を使うと、条件が成立した時点でそれ以降のelif文はスキップされます。
また、次のようにまったく条件が成立しなかった場合に実行する処理を指定することもできます。

例:

なお、else文は最後尾に書かなければならないことに注意しましょう。

複雑な条件にはネストを使う

ときには、単一のif文では表現できない複雑な条件分岐に遭遇することもあるでしょう。
そんなときはif文をネストさせて解決できないか考えてみて下さい。
たとえば、次のようにします。

例:

このように複数のif文をネストさせて組み合わせることにより、どのような複雑な条件でも表現することができます。
とはいえ、ネストが増えていくにつれ条件がわかりにくくなっていくため、できれば2階層、多くても3階層までのネストにとどめておくべきでしょう。
条件判定を工夫して、ネストを使わずに表現できないか考えてみて下さい。

まとめ

if文はプログラムの実行ルートを制御する基本的な構文です。
プログラム中では条件によって実行したり、しなかったりする処理が多いですが、if文が多すぎるとプログラムが複雑になってしまうので、できるだけ少なくした方がいいでしょう。
if文を書く前に、本当にその条件分岐が必要かよく考えてみて下さい。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

プログラミングで挫折しそうなら、現役エンジニアにマンツーマンで相談してみませんか?オンラインのプログラミングスクール「TechAcademy」のメンターが対応。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る