皆さん、こんにちは。
南波真之(なんばさねゆき)と申します。
私は現在、Pythonについて勉強を進めています。というのも、AIやデータ分析、アプリケーション開発など様々な状況でPythonは活用されており、テクノロジー業界で活躍していくためには必要だと思っているからです。
と言っても、私はエンジニアではない文系の人間です。
「解きながら学ぶ Pythonつみあげトレーニングブック」を使って、Pythonの一番基本的なところを学んでいます。そこで、自分で学習してきて感じたポイントや疑問、皆さんにシェアできることを書いていきます。
今回は、P.72〜P.79の部分になります。
テーマは、プログラミングでロジックを作る際に利用する「条件分岐のif」です。
if文と呼ばれることが多いですが、条件分岐をすることでPythonを用いてできることの幅がとても広くなります。
if文の条件分岐とは
まずプログラムにおける条件分岐とは、「もしAという条件だったらBという処理を行い、もしCという条件だったらDの処理を行い・・・」というように場合分けをし、該当の場合にそれぞれ処理を実行させるようなロジックのことです。
プログラムを作る際には実施したい動作をソースコードの形でコンピューターに命令するわけですが、その際に条件分岐はとてもよく使われます。
例えば、「もしiPhoneユーザーの場合はiPhone専用のページを見せる、もしAndroidユーザーの場合はAndroid専用のページを見せる」、「もしスコアが80以上であれば合格のステータスに変更し、80点より低ければ不合格のステータスに変更させる」など非常に多様な条件分岐のパターンが思い浮かびます。
プログラムでこの条件分岐を行うのが「if文」になります。
Pythonでif文を使う
それではPythonでのif文の書き方を見ていきます。
標準的なif文の使い方
if 条件: 条件に当てはまる場合に実行する処理 else: 条件に当てはまらない場合に実行する処理 |
これだけです。
if文の記述ポイントとしては、こちらです。
- if を先頭に記載
- if の行に条件式を記載し、末尾にコロンを記載
- 実行する処理の行は、行頭に半角スペースを4つ入れる(インデント)
- else のあとにもコロンを記載
Pythonはインデントによって処理の範囲を定義しており、PEP8というPythonのコーディング規約にも記載されています。
例えばif文は、このような使い方になります。
score = 92 if 80 <= score: print(“あなたは合格です!おめでとうございます!!”) else: print(“残念、不合格です。再チャレンジしてください。”) print(“テストお疲れさまでした。”) |
scoreという変数に入った数字が80以上の場合は、合格のメッセージを表示させ、それ以外の場合(80より低い場合)は不合格のメッセージを表示させるという条件分岐です。
最後のprint文は、if文の外の処理のため、if文中の条件に関わらず実行されるようにしています。
この場合の出力は、以下のようになります。
あなたは合格です!おめでとうございます!! テストお疲れさまでした。 |
変数scoreに入る数字が80点より低ければもちろん不合格のメッセージが表示されるようになります。
(参考)公式マニュアル
もう少し複雑なif文の使い方
もう少し複雑な条件分岐をさせたい場合は、3つ以上の条件を分岐させる方法をとることができます。この場合は、elifの記述で条件を複数指定します。
if 条件A: 条件Aに当てはまる場合に実行する処理 elif 条件B: 条件Bに当てはまる場合に実行する処理 ︙ else: いずれの条件に当てはまらない場合に実行する処理 |
例のコードを作ってみました。
score = 90 if 90 <= score: print(“あなたは特に優秀な成績で合格です!!おめでとうございます!!!”) elif 80 <= score: print(“あなたは合格です!おめでとうございます!!”) elif 60 <= score: |
scoreという変数に入った数字が90以上の場合、80以上の場合、60以上の場合、40以上の場合、それ以外の場合でそれぞれ処理を分けています。
このコードでは変数scoreに90が入っているため、出力は以下のようになります。
あなたは特に優秀な成績で合格です!!おめでとうございます!!! テストお疲れさまでした。 |
まずはこの基本を押さえ、様々な処理をif文を使って行ってみることで慣れていくと良さそうです。
if文がわかればプログラムの流れがわかってくる
今回は、Pythonの条件分岐であるif文ついて紹介してきました。
ソースコードのロジックを司る要素の1つがif文ですのでここがわかってくるとソースコードの理解が一気に進んでくると思っています。
インターネットアカデミーは、Python講座が充実しています。Python認定スクールにもなっているため質の高い知識を得ることができ、基礎学習の先にあるそれぞれの目標を目指していくためには良い場所となります。
よく、「プログラミングは独学でもなんとかなる」という情報もありますが、新しいことを学んでいく際の近道は「プロに教えてもらうこと」です。
インターネットアカデミーはキャリアサポートも充実しており、一人ひとりに専任のキャリアプロデューサーがサポートしてくれるため中途半端になることがありません。
ご興味ある方は各講座のページを覗いてみてください。無料カウンセリングもできます。
- Pythonの基礎からDjangoフレームワークを使ったWebアプリケーションを作りたい方向けの「Python講座」
- Pythonを活用したAIプログラミング、機械学習を実装したい方向けの「AIプログラミング講座」
※上記の講座は「解きながら学ぶ Pythonつみあげトレーニングブック」を基にした研修コースではありません。