プログラミングでは、一回限りの処理内容を書くこともありますが、膨大な処理や、計算方法が同じ処理は、1行ずつ書く必要はありません。
そのかわりに、for文やwhile文を使って簡潔に繰り返しの処理を書くことができます。
Pythonでは、それぞれどのような時に使うのか学習していきましょう。
目次
Pythonのfor文を学ぶ
最初はfor文についての解説をします。
基本的の使い方を説明した後に、応用的な使い方を解説します。
for文の基本的
最初に基本的な使い方を解説します。
for文の使い方
for文は繰り返し表現をしたい時に使います。
繰り返しのパターンとしては1回目から100回目は指定した処理をしたい、という場合のように、繰り返しの回数があらかじめ決まっている場合に使います。
for文は繰り返し回数が決まっているので、ループエラーが起きにくく、処理時間も事前におおよそ予測することができます。
数十行以上書かなければならないような繰り返しの処理をたった数行で書けるので、ぜひマスターしておきましょう。
実際にやってみよう
それでは、for文を使って、list内の名詞を複数形にする処理を書いてみましょう。
contents = [“book”, “hand”] for c in contents: print(c + “s”)
出力結果は、
books hands
となります。
実際の出力結果は以下のようなイメージです。
(以下はスクリーンショットです。)
便利なrange関数
続いてfor文と一緒によく利用するrange関数について解説します。
range関数の使い方
Range関数とは、range()と表現し、引数に数値を代入することで、その範囲内の数値を全て順番に出力させることができます。Rangeの範囲指定は数値指定します。
実際にやってみよう
ここでは、range(4)として0から3までを出力させるコードを書きます。
for i in range(4): print(i)
出力結果は以下のようになります。
0 1 2 3
実際の出力結果は以下のようなイメージです。
(以下はスクリーンショットです。)
forの中でbreakを使う
続いてbreakの解説です。
breakはfor文やwhile文の中でよく利用します。
breakの使い方
breakとは、for文の繰り返し処理の中で、処理を中断させてそこで打ち切りにする時に使います。
for文の中である条件を満たした時に処理を中断したい時に使います。
中断すると、for文の残り処理は実行されなくなり、そこで終了します。
実際にやってみよう
ここでは、0から4までを繰り返しで出力させるfor文を書いた後に、3が来た時に処理内容を打ち切りにするberak文を挿入して、出力結果を確認してみます。
for i in range(5): if i ==3: break print(i)
出力結果は、
0 1 2
となります。
実際の出力結果は以下のようなイメージです。
(以下はスクリーンショットです。)
forの中でcontinueを使う
continueもfor文やwhile文の中でよく利用します。
breakとセットで覚えておきましょう。
continueの使い方
for文の中でcontinueを使うと、その処理がスキップされて次の処理に移ります。
スキップされると先頭に戻り、処理が続いていきます。
処理が不要なものはcontinueで条件指定して、それを除いた処理だけをしてもらうようなコードを書くことになります。
実際にやってみよう
ここでは、0から4まで出力させるコードを書き、3のところでスキップさせて、先頭の処理に戻り続く4を処理させるコードを書いていきます。
for i in range(5): If i == 3: continue print(i)
出力結果は、
0 1 2 4
となります。
実際の出力結果は以下のようなイメージです。
(以下はスクリーンショットです。)
Pythonのwhile文を学ぶ
while文の基本
続いてwhile文についての解説をします。
基本的の使い方を説明した後に、応用的な使い方を解説します。
while文の使い方
Pythonには繰り返し処理の書き方がfor文の他にも、while文があります。
for文とは違い、while文は繰り返しの処理回数が事前にわからないものを処理させます。
For文では数値の範囲指定をしましたが、while文では条件式を書いて、式の条件を満たす場合に処理させる方法をとります。
実際にやってみよう
ここでは、初期値を0でスタートさせて5より数値が小さい場合に出力させ、5になったところでwhileのループから出るコードを書いていきます。
i = 0 while i < 5: print(i) i += 1
ここで、+=とは1加えて先頭の処理に戻る時に使います。
出力結果は以下のようになります。
0 1 2 3 4
While文はif 文と同じようにcontinueやbreakの指定を文中で用いることができます。
実際の出力結果は以下のようなイメージです。
(以下はスクリーンショットです。)
whileの条件を間違えて無限に実行されてしまったら
Whileの条件がboolean型のtrueとなる条件を指定すると、while文から抜け出せなくなり、無限ループとなります。
例えば、1 == 1や1 < 3など常に条件式を満たす場合のことです。
抜け出すにはコマンドで、control + cを押して強制的にループから抜け出します。
実際にやってみよう
ここでは、1<2という常に条件を満たす式を用いてwhile文を無限ループさせてから、control + cでループから抜け出します。
抜け出せると最後に、keyboardinterruptという表示が出ます。
キーボードで強制的に中断した、という意味です。
それでは、以下にコードを書いていきます。
while 1 &lt; 2: print(“ok”)
出力結果
Ok Ok Ok ……
実際の出力結果は以下のようなイメージです。
(以下はスクリーンショットです。)
キーボードでcontrol + cを入力後の画像↓
まとめ
Pythonのfor文とwhile文について解説しました。
繰り返し処理をマスターすると色々な処理を自動化できます。
ここで解説した内容は基本的な内容です。実際にシステム構築をしていると「こういう繰り返し処理がしたい」といった場面が出てくるでしょう。
そんなときはご自身でネットで調べたり、考えて試したりして実装することになります。
ただし、基本に忠実であることはとても大事です。
初歩的なこと・基本的なことを忘れずに学んでいきましょう。