else文とは?
Pythonのelse文は、if文の条件が当てはまらない場合に実行される処理を記述するための構文です。
if文で設定した条件が満たされなかった場合の処理を決められるということです。
日常生活でも私たちは「もし雨が降っていたら傘を持つ、そうでなければ傘は持たない」といった考え方をしていますよね。これをプログラムの中で表現するのがelse文です。
else文は必ずif文とセットで使用され、条件分岐プログラムの基本的な構成要素となります。プログラムの流れを2つの流れに分け、異なる状況に応じて適切な処理を実行させることができます。
また、for文やwhile文などのループ文でも使用でき、ループが正常に完了した場合に実行される処理を記述できるといった機能も持っています。
【関連】
Pythonをもっと詳しく学ぶならpaizaラーニング
基本構文
Python else文の使い方は、とてもシンプルです。
まず大切なのは、else文は必ずif文とペアで使う点です。
if文だけでは「条件が当てはまる場合」の処理しか書けませんが、else文を追加することで「条件が当てはまらない場合」の処理も書けるようになります。
プログラムは上から順番に実行されます。if文の条件をチェックして、当てはまればif文の中の処理を実行し、当てはまらなければelse文の中の処理を実行します。
else文を書くときは、「else:」のようにコロン(:)を忘れずに付けましょう。そして、その下の行はインデント(字下げ)して処理を書きます。
このように書くことで、「AかBか」の二択の処理を簡単に作ることができます。
出力結果:
子供のコアラです
このプログラムでは、まずageという変数に15という値を設定しています。次に、if文で「年齢が18以上かどうか」をチェックします。
15は18以上ではないため、条件は当てはまりません。そのため、if文の中の処理はスキップされ、else文の中の「子供のコアラです」が実行されます。
次は、文字列の比較を使用したelse文の活用方法の例です。
出力結果:
空を飛ぶワシです
このプログラムでは、文字列を比較しています。前の例では数値(15と18)を比較しましたが、文字列の場合は少し書き方が違います。
数値の比較ではage >= 18のように数字をそのまま書きましたが、文字列の場合は"哺乳類"のようにダブルクォート(")で囲む必要があります。
animal_type == "哺乳類"は「変数の中身が哺乳類という文字と完全に一致するかどうか」をチェックしています。
今回は「鳥」という文字列が入っているので、「哺乳類」とは一致せず、else文の「空を飛ぶワシです」が表示されるという流れです。
実用例
ここからは実際のプログラミングでよく使われるelse文の具体的な使用例を紹介します。年齢による分類、成績判定、温度管理など、さまざまな場面でelse文が活用されています。
このようなケースを通じて、else文の実践的な使い方を学び、実際のプログラム開発で応用できるスキルを身に付けましょう。
それでは動物を使った身近な例で、else文の動作原理をわかりやすく説明していきます。
年齢による動物の分類
ここでは、年齢によって大人か子供かを判断するプログラムを見てみましょう。
実際のWebサイトでも、年齢によって「このサービスは利用できません」といったメッセージを表示する仕組みに使われます。
出力結果:
成人のゾウです
user_ageに25が設定されています。
if文で「年齢が18以上かどうか」をチェックすると、25は18以上なので条件が当てはまります。そのため、if文の中の「成人のゾウです」が実行され、else文の処理はスキップされます。
成績による合否判定
ここでは、テストの点数によって合格か不合格かを判断するプログラムを見てみましょう。
学校のテストや資格試験など、点数で合否を決める場面はたくさんありますよね。そんな時に使える基本的なコード例です。
出力結果:
不合格のナマケモノです
test_scoreに45が設定されています。
if文で「テストの点数が60以上かどうか」をチェックすると、45は60未満なので条件が当てはまりません。そのため、else文の「不合格のナマケモノです」が実行されます。
天気による動物の行動
天気によって動物の行動パターンを変えるプログラムを見てみましょう。
天気アプリで「今日は晴れなので洗濯日和です」といったメッセージを見たことはありませんか?そのような仕組みを簡単に作ることができます。
出力結果:
家で休むネコです
weather_conditionに「雨」が設定されています。
if文で「天気が晴れかどうか」をチェックしますが、「雨」は「晴れ」と等しくないため、条件が当てはまりません。そのため、else文の「家で休むネコです」が実行されます。
偶数奇数の判定
数値が偶数か奇数かを判断するプログラムを見てみましょう。数学的な判定処理の基本的な実装例です。
出力結果:
奇数のフラミンゴです
偶数は2で割り切れる数、奇数は2で割ると余りが出る数です。この性質を利用して、余りの数値を利用して偶数か奇数かを判定しています。
この判定には、割り算の余りを求める特別な記号(%)を使います。これを剰余演算子といいます。
number % 2は「numberを2で割った余り」という意味です。
このコード例では、number % 2 == 0は「余りが0かどうか」つまり「偶数かどうか」をチェックしています。
実際にnumberの値を変えて、出力結果の違いを確認してみてください。
パスワード認証システム
ここでは、パスワードが「正しいか間違いか」を判断するプログラムを見てみましょう。
スマートフォンのロック解除やWebサイトのログインなど、パスワードをチェックする仕組みはとても身近です。そんな基本的な認証の仕組みの処理パターンです。
出力結果:
認証失敗のサルです
input_passwordに「abc123」、correct_passwordに「password123」が設定されています。
「abc123」と「password123」は一致しないため、条件が当てはまりません。そのため、else文の「認証失敗のサルです」が実行されます。
温度による動物の状態
ここでは、気温によって動物の状態を判断するプログラムを見てみましょう。
エアコンが温度を感知して自動で動作を変えるように、プログラムでも温度によって違う処理を実行することができます。
出力結果:
涼しがりのシロクマです
current_temperatureに15が設定されています。if文で「現在の気温が25度以上かどうか」をチェックすると、15は25未満なので条件が当てはまりません。
そのため、else文の「涼しがりのシロクマです」が実行されます。
在庫管理システム
商品の在庫数を判定して適切なメッセージを表示するプログラムの例です。
ネットショッピングで「在庫切れ」と表示されるのを見たことがあると思います。そのような在庫をチェックする基本的な仕組みです。
出力結果:
在庫切れのラクダです
stock_quantityに0が設定されています。
if文で「在庫数が0より大きいかどうか」をチェックしますが、0は0より大きくないため、条件は当てはまりません。
ちなみに「以上」か「より大きい」かはミスをしやすく、バグが発生しやすい箇所でもあります。
特に、数字の境界におけるような判定には注意を払いましょう。
時間による挨拶メッセージ
ここでは、時間によって「午前か午後か」を判断して、適切な挨拶を表示するプログラムを見てみましょう。
スマートフォンのアシスタント機能が時間に合わせて「おはようございます」や「こんにちは」と言ってくれるのと同じような仕組みです。
出力結果:
こんにちはアヒルです
この例では、わかりやすいようにcurrent_hourに14が固定値として設定してありますが、実際はリアルタイムを取得して実装するケースが多いです。
else文は、こういう場面でも有用だということを覚えておきましょう。
まとめ
else文は、if文とセットで使用する条件分岐の基本構文です。この記事では、基本的な使い方から実際の活用例まで解説しました。
else文が活用できるような場面は次のようなケースです。
else文が活躍する場面
- 年齢や点数などの数値による二択判定をしたいとき
- 天気や動物の種類など文字列による分岐処理をしたいとき
- パスワード認証のような正誤判定が必要なとき
- 在庫の有無や温度の高低など状態判定をしたいとき
- 時間帯による処理の切り替えをしたいとき
else文を用いる上で、押さえておきたいポイントを覚えておきましょう。
重要なポイント
- else文は必ずif文とペアで使用する
- if文の条件が当てはまらない場合に、else文の処理が実行される
- 数値の比較では>=や<などの比較演算子を使用する
- 文字列の比較では==を使い、文字列をダブルクォートで囲む
- else文にもコロン(:)とインデントが必要
初めてPythonを学ぶ方も、この記事で紹介したelse文のコードを実際に書いてみてください。
条件分岐は、実際の開発で想像以上によく使用されます。マスターすれば実務で大いに役立つはずです。
ぜひelse文をマスターして、より実用的なプログラムを作成できるようになりましょう。