![見出し画像](https://assets.st-note.com/production/uploads/images/14502602/rectangle_large_type_2_ee506402be31c378591d45efc0e53eb6.jpeg?width=1200)
Pythonの勉強するよ【フロー制御編⑥】
どもども。いつの間にか9月も中旬ですが、皆さんいかがお過ごしでしょうか。少し涼しくなってきましたが、体調を崩さないように気を付けましょう。
前回はwhile文について勉強しました。
【前回の復習】
・while文のブロックは、条件式がTrueの間ずっと実行される。
・while文の条件式がTrueの場合、無限ループが発生する。
・ループはbreak文を使うことでいつでも抜けることができる。
・continue文でループの先頭に戻ることができる。
今回はfor文とrange()関数について勉強していきます。フロー制御編もいよいよ終わりですね。
2.7.7 for文
while文は条件式がTrueの時にループを行っていました。for文は、同じようにループを行うのですが、指定回数繰り返したり、データを一つずつ取り出したりするのに使用します。
for 変数名 in データの集まり:
コードのブロック
実際のコードを見てみましょう。
list = [ 10, 20, 30]
for i in list:
print(i)
【実行結果】
10
20
30
変数listはリスト型という値で、今回の場合、[10,20,30]というデータの集まりです。(リスト型についてはまた解説します。)
for文はデータの集まりを一つずつ取り出すので、今回の場合、変数listのデータを一つずつ取り出していきます。
取り出した値は、for文を書く時の変数に代入されていきます。
上のコードをひとつずつ見ていきましょう。
まず、listの最初に設定されている10がfor文の変数iに代入されます。
その後、print(i)が実行されるので、10が表示されます。
print(i)が実行され、for文の最後の行に到達すると、for文は変数listの次の値20を取り出し、変数iに代入します。これを最後まで繰り返し、すべてのデータを取り出し終わると、for文のブロックから抜けます。
【Point】
・for文は指定回数繰り返したり、データの集まりからデータを一つずつ取り出すときに使う。
指定回数繰り返す方法は、range()関数と一緒に説明します。
2.7.8 range()関数
range()関数は、一般的に、 for ループにおいて特定の回数のループに使われます。
例えば、次のように記載します。
for i in range(5):
print(i)
【実行結果】
0
1
2
3
4
上の場合、繰り返したい回数をrange()関数の引数に渡しています。(今回は5回繰り返したので、5を渡している)
その結果、print(i)が5回繰り返されています。この時、変数iは0からスタートすることと、変数iがインクリメントされていくことに注意しましょう。
range()関数は、引数を1つだけ渡すほかに、引数を2つ渡すものと、引数を3つ渡すものがあります。
それぞれの動きを見てみましょう。
引数2つの場合:
for i in range(2, 10):
print(i)
【実行結果】
2
3
4
5
6
7
8
9
引数を1つだけ渡したときは、変数iは0からスタートしましたが、今回は第1引数に2を設定しているため、2からスタートします。このように、引数を2つ渡すと、第1引数でスタートする値、第2引数で終了する値を設定することができます。
引数3つの場合:
それでは、引数を3つ渡した場合はどのようになるのでしょうか?
for i in range(1, 20, 2):
print(i)
【実行結果】
1
3
5
7
9
11
13
15
17
19
変数iが1から始まっているので、引数が2つの場合で説明した理由と同じです。今回の相違点は、変数iの増加量です。先ほどまでは、変数iは1ずつ値が増えていきましたが、今回は2ずつ増えています。これは第3引数で増加量2を設定しているためです。
また、この第3引数には、負の値も設定することができます。
for i in range( 10 , 1 , -1):
print(i)
【実行結果】
10
9
8
7
6
5
4
3
2
このように、スタート値に10、終了値に1、増加量に-1を設定すると、10から逆順に値を表示することができます。
【Point】
・range()関数は、一般的に、 for ループにおいて特定の回数のループに使われる。
・range()関数は、引数を1つだけ渡すもの、2つ渡すもの、3つ渡すものがある。
・1つだけ渡すもの:特定の回数実行するときに使う。
・2つ渡すもの:特定の範囲実行したいときに使う。
・3つ渡すもの:特定の範囲で、一定の増加量で増減するときに使う。
まとめ
いかがでしたでしょうか。いろいろ書きましたが、まとめると下のようになります。
【まとめ】
・for文は指定回数繰り返したり、データの集まりからデータを一つずつ取り出すときに使う。
・range()関数で回数を指定できたりする。
ついにフロー制御が一通り終わったので、次回からは関数についてやっていこうと思います。ではでは。
P.S.
関数の前にAnovaの良さを伝えたい。