Re:ゼロから始める文系プログラマ

文系プログラマーがブログを書いてみた。

【Python・文法】~制御構文の基本~

f:id:ShotaNukumizu_1000:20210405111435p:plain

おはようございます!Shotaです。今日もPythonにまつわる記事を書いていきます。今日から本格的に文法の説明をしていきます。今日は制御構文の基本について詳細に説明します。

 

 

【目次】

 

制御構文

制御構文は、プログラムの処理の流れをコントロールするコードです。これまで単純なプログラムのサンプルを参照しながら基本的な演算やデータの型を書いて、それを実行して説明していきました。非常に簡単な処理であれば何も問題はないでしょう。ところが、プログラムでは複雑な処理を扱うことが大半なので、このようなやり方では限界が来てしまいます。

例えば、「1週間の収支を計算する」という処理はどうなるのでしょうか?作ったプログラムを「月曜日の収支」「火曜日の収支」というように1週間分書いていきますか?そのようにやってしまうと、手間と時間がかかりミスが増えます。

プログラムが複雑になると。「実行する処理を制御するための仕組み」が必要になります。そのために用意されているのが制御構文です。同じような処理をひたすら続けて実行するよりも、必要に応じて処理を繰り返したり、異なる処理を実行させたりすることができたら、遥かに効率的なプログラムを作れる。

制御構文には、「条件分岐」「繰り返し」のたったの2種類しかありません。このたった2種類でプログラムを自由自在に制御できます。

条件分岐

 条件分岐とは、必要に応じて処理を分岐させるものです。条件に応じて、実行する処理を分ける」はたらきをする構文です。条件分岐にはif文を用います。

if文

 if文には、条件となる部分と、それによって実行する処理の部分から構成されます。基本的な構文の形を整理しましょう。

まずは、試しに以下のコードを書いて実行してみましょう。

 

f:id:ShotaNukumizu_1000:20210418064505p:plain

 

▼実行結果

f:id:ShotaNukumizu_1000:20210418064551p:plain

 

上のコードを書いて実行してみると、「ifの中の処理」という文字列が一つしか表示されないことがわかります。

プログラムの3行目では、変数xに10を代入しています。4行目でif文を書いて、「xが5より大きい場合」とコードに入力します。その際、変数xはif文の中の条件を満たしているので「ifの中の処理」と表示されます。

変数yの場合を見ていきましょう。変数yには1が代入されています。この変数yはif文の「yが5より大きい場合」という条件を満たしていないので「ifの中の処理」と表示されないのです。

if文の条件は、真偽値(bool)として得られるものを指定します。boolとして得られるものはどんなものでも設定できます。

繰り返し

 Pythonで扱う繰り返し構文には2つあります。それは、for文while文です。

for文

 for文はコンテナ(多数の値を扱えるデータ)を利用した繰り返し構文です。この構文はコンテナから値を取り出して変数に代入し、繰り返す処理を実行します。実行後、またforに戻ってコンテナから次の値を取り出して変数に代入し、また繰り返す処理を実行します。

すべての値をコンテナから取り出し終えたら、構文を抜けて進みます。

試しに以下のコードを書いて実行してみましょう。

 

f:id:ShotaNukumizu_1000:20210418065604p:plain

 

▼実行結果

f:id:ShotaNukumizu_1000:20210418065631p:plain

 

タプルの中にある文字列を表示するサンプルです。コンテナの中の要素を変数wordに代入して、繰り返し表示しています。

for文は、このようにコンテナからすべての値を順番に取り出して処理を実行します。

 

while文

 もう一つの繰り返し構文は、while文です。「繰り返しのための条件」を持った構文です。条件をチェックし、結果に応じて繰り返しを行うか決めます。

while文は非常に単純な構造をしています。whileの後に、繰り返しのための条件が用意されています。whileでは、まずこの条件をチェックして結果がTrueであればその後にある繰り返す処理の部分を実行します。

実行後、またwhileに戻って条件をチェックし、Trueであればまた処理を実行します。このようにして条件のチェックと処理の実行を繰り返していき、条件がFalseになれば繰り返しを抜けます。

まずは、以下のコードを書いて実行してみましょう。

 

f:id:ShotaNukumizu_1000:20210418070646p:plain

 

▼実行結果

f:id:ShotaNukumizu_1000:20210418070709p:plain

 

このように、「while処理」という文字列が5回表示されていると思います。whileの条件はbool型で、ifの条件とまったく同じです。if文と同じように、「条件は、比較演算子を使うのが基本」ということを押さえておきましょう。

まとめ

本日の記事では、制御構文の基礎について紹介しましたので各文法の構文は後日紹介します。

【本日のまとめ】

  • 制御構文は、プログラムの流れを制御するコード
  • 制御構文には「条件分岐」と「繰り返し」の2つの種類が存在する
  • 条件分岐は条件に応じて実行する処理を分ける構文。if文を使う
  • 繰り返しは必要に応じて用意された処理を繰り返し実行できる構文。for文とwhile文を使う 

 

本ブログでは、こんな感じでPythonにまつわる情報や基本的な知識、Pythonの操作方法やニュースをたくさん紹介していきます。毎週日曜日に、普段とは趣向を変えて有名な自己啓発本・ビジネス書を要約・考察するブログを書いていきます。

この記事がいいと思った人はSNSにシェアしてくれると非常に嬉しいです!

明日は制御構文の一つ「if文」について詳しく説明していきます。

今日も最後まで読んでくださりありがとうございました!

 

 

【参考図書】

gihyo.jp