【初学者向け】Python超入門⑨~繰り返し処理~

Python超入門
こんにちは、データ分析屋のやじろべえ(@yajirobe_papa)です。
Python超入門第九回です。前回はPythonにおける条件分岐(if文)について解説しました。
今回は繰り返し処理について解説していきます。
それでは早速やっていきしょう!

繰り返し処理とは

ある条件を満たす限り、同じ処理を繰り返す命令文のことです。
また、繰り返し処理のことをループ処理や反復処理と言ったりします。
繰り返し処理の代表的なものとして、for文とwhile文があります。

for文の使い方

Pythonにおけるfor文の使い方は以下のようになります。
まず、先頭にforを書きます。次に何回繰り返したかをカウントする変数(カウンタ変数)を記述します。
そしてカウンタ変数の隣にinを記述し、更にその隣に「繰り返す全データの集まり」を記述します。
「繰り返す全データの集まり」の右隣にはコロンを忘れずに書きましょう。
次に改行をして、スペースを空けて(インデントと言います)「繰り返し中に実行する処理」を書きます。
繰り返す全データの集まり」という部分が少し抽象的でわかりづらいと思いますので、コードで確認してみましょう。
変数aに果物の名前が4つ入ったリストを代入します。この例で言うと変数aが「繰り返す全データの集まり」になります。
In [1]: a = ["apple", "banana", "cherry", "melon"]

 

リストの中身を表示させる書き方は大きく分けて二通りあります。
  • range関数を使う場合
range関数はrange(繰り返し回数)というように使います。
今回の場合は、リストには4つのデータがあり4つとも表示させたい場合は繰り返し回数は4となります。
コードは以下のようになります。リストの要素を一つずつ取り出すときはインデックスを何番目のデータなのかを指定してあげれば良いんでしたね!忘れてしまった場合はこの講座のリスト型編を参考にしてみてください。
In [2]: for i in range(4):
            print(a[i])
Out [2]: apple
         banana
         cherry
         melon

 

上のような書き方だといちいちリストの中の要素が何個あるかを確認しなければならないので不便です。そんな時はlen関数を使いましょう。len関数を使う事でリストの中の要素数を自動で取得出来ます。len関数を使った時の書き方は次のようになります。
In [3]: for i in range(len(a)):
           print(a[i])
Out [3]: apple
         banana
         cherry
         melon

 

  • リストをそのまま使う
range関数では繰り返し回数を指定しましたが、実はそのような事をしなくてもリストをそのまま「繰り返す全データの集まり」として使うこともできます。
コードで確認してみます。
In [4]: for name in a:
           print(name)
Out [4]: apple
         banana
         cherry
         melon

 

range関数を使った時と同じ結果が返りました!こちらの方がスッキリして見やすいですので出来ればこういった書き方にも慣れていきましょう!

break文の使い方

for文を使っていると、途中で繰り返しをやめたいといった場面が出てきます。その時に使うのがbreak文です。
break文はif文と一緒によく使います。
早速コードで確認してみましょう。
次の例では、for文を使って繰り返し回数を10回に設定しprint関数で変数iを表示させる処理です。for文の中ではif文で変数iが5になった時にbreak文でfor文をやめるようにしています。
In [5]: for i in range(10):
           if i == 5:
             break
           print(i)
Out [5]: 0
         1
         2
         3
         4

 

continue文の使い方

繰り返し処理の中で途中の処理をスキップしたいといった場面で使うのがcontinue文です。
continue文もif文と一緒によく使います。
早速コードで確認してみましょう。
break文の時と同じように、for文を使って繰り返し回数を10回に設定しprint関数で変数iを表示させる処理です。for文の中ではif文で変数iが5になった時にcontinue文でスキップするようにしています。
In [6]: for i in range(10):
           if i == 5:
             continue
           print(i)
Out [6]: 0
         1
         2
         3
         4
         6
         7
         8
         9

 

while文の使い方

for文は要素を順次取り出して処理するものでしたが、while文は条件がTrueである間はずっと処理を繰り返すものです。
Pythonにおけるwhile文の使い方は以下のようになります。
まず、先頭にwhileを書きます。次に繰り返し条件を記述します。繰り返し条件の右隣にはコロンを忘れずに書きましょう。
次に改行をして、スペースを空けて(インデントと言います)「繰り返し中に実行する処理」を書きます。
早速コードで確認してみましょう。
次の例では、変数counterに初期値として10を代入しています。そして、while文でcounterが0より大きい限り処理を実行させ続けます。
実行する処理ですが、counterを出力した後に累算代入演算子を使ってcounterを1ずつ減らしています。
そしてwhile文から抜けた後に”lift off !”という文字を出力させています。
(# 余談ですが、”lift off”というのはロケットの打上げ発射の際によく使われます。)
In [7]: counter = 10
        while counter > 0:
             print(counter)
             counter -= 1
        print('lift off !')
Out [7]: 10
          9
          8
          7
          6
          5
          4
          3
          2
          1
          lift off !

 

for文の時に使ったbreak文やcontinue文もwhile文でももちろん使えます。
In [8]: counter = 10
        while counter > 0:
             print(counter)
             counter -= 1
             if counter == 5:
               break

 

Out[8]: 10
         9
         8
         7
         6

 

※while文は無限ループに注意
for文と同じような繰り返し処理を行うwhile文ですが、無限ループにだけ気をつけてくださいね。
無限ループというのは条件を満たさず繰り返し処理がずっと動き続けることです。
例えば先ほどの例ですと、counter -= 1という処理を消してプログラムを実行させると、counterがいつまでも10のままですので、while文を抜けず10という数字がずっと出力され続けます。
無限ループが発生するとプログラムを強制終了させたりする必要があるので気をつけましょう!

まとめ

今回はPythonにおける繰り返し処理の使い方について解説しました!
繰り返し処理もプログラミングの中で最も良く使われる処理の一つなので、是非マスターしましょう!
次回は関数について記事にします。
<追記>
第十回記事を書きました!
それではお疲れ様でした。
タイトルとURLをコピーしました