0から始めるPython独学ラボ

化学専門の大学生が趣味で始めたPythonをできるだけ分かりやすく説明します

for文について

今回はfor文について取り扱っていきます。

for文は次のような構文になります。

for ループ変数 in 範囲:

    繰り返す処理

 

これだけだとなんのことかよく分かりませんね。解説をしていきます。

まず、上の構文の範囲と書いている部分には繰り返し可能なオブジェクトです。繰り返し可能なオブジェクトには、文字列、リスト、タプルなどがあります。

 

繰り返し可能なオブジェクトのことをpythonではイテラブルなオブジェクトといいます。この辺の用語が、学習を進めるうちによくわからなくなってきますから、ここでしっかり押さえておきましょう。イテラブルとは、イテレーション可能な構造のことです。イテレーションとは、繰り返し値を返すこと、次々と要素にアクセスすることを示します。実際に例を見ていったほうが分かりやすいので、用語解説はこの辺にしておきます。

範囲の部分のイテラブルなオブジェクトとして、rangeが用いられます。rangeの使い方についても解説します。

 

range(5)

という風に書いたときには、0,1,2,3,4をイテレーションすることができるイテラブルなオブジェクトを生成することができます。つまり、0,1,2,3,4に次々とアクセス可能なオブジェクトが作れるという意味です。これはリストとは別のオブジェクトです。ちょっと難しくなってきましたね。

 

range(開始の数字, 終わりの数字)

という構文をとり、開始の数字から終わりの数字の一つ前までをイテレーションすることができるイテラブルなオブジェクトを生成します。例えば、

range(1 ,6)

と書いた場合には、1,2,3,4,5をイテレーションすることができるイテラブルなオブジェクトを生成することができます。開始の数字が示されなかった場合には、デフォルト値として0が代入されます。

 

この、「イテレーションすることができるイテラブルなオブジェクト」という表現が非常に回りくどいんですけど、かいつまんでいえば、その範囲の数字を繰り返し取り出すことができる、という意味です。

 

このあたりでrangeの解説は終了します。for文の構文は以下のようになるのでしたね。

for ループ変数 in 範囲:

    繰り返す処理

 

範囲にはイテラブルなオブジェクトが入ります。そして、ループ変数には、イテラブルなオブジェクトからイテレーションした(取り出した)値が代入されます。そして、繰り返し処理を行った後に、最初に戻ってイテラブルなオブジェクトから次の値をイテレーションして、ループ変数に代入します。なんとなくつかめてきたでしょうか。

実際に具体例を見ていきましょう。

テキストエディタ

for x in range(6):

    print(x)

 

実行結果

0
1
2
3
4
5

range(6)は、0,1,2,3,4,5をイテレーションします。それがループ変数xに代入されて、printで表示されています。

 

これで今回の記事は終わりです。お疲れさまでした。