まず結論
for i in range(3) は、「3回くり返す」と読むと入りやすいです。
for i in range(3):
print(i)
実行すると、次のように表示されます。
0
1
2
こんなときに読む記事です
次のような疑問がある人向けです。
for i in range(3)が呪文に見えるiがどこから出てきたのか分からない- なぜ
range(3)なのに3が表示されないのか分からない
まずは「range(3) が3回分の番号を作り、for がそれを順番に取り出す」と考えると楽です。
iには何が入る?
i には、繰り返しのたびに 0、1、2 が順番に入ります。
1回目: i は 0
2回目: i は 1
3回目: i は 2
range(3) は 1, 2, 3 ではなく、0, 1, 2 です。
ここが最初のつまずきポイントです。
range(1, 4) ならどうなる?
開始する数字を変えたいときは、range(1, 4) のように書けます。
for i in range(1, 4):
print(i)
表示されるのは 1、2、3 です。
最後の 4 は含まれません。
iは別の名前でもいい
i は特別な命令ではありません。変数名です。
for number in range(3):
print(number)
このように書いても同じです。
何回も同じ処理をしたいとき
回数だけが大事なら、値を使わないこともあります。
for _ in range(3):
print("こんにちは")
_ は「今回はこの値を使いません」という目印としてよく使われます。
読み方を分解する
for i in range(3): は、次のように分けると読みやすいです。
range(3) が 0, 1, 2 を用意する
for がそれを1つずつ取り出す
取り出した値が i に入る
字下げされた処理を毎回実行する 3行まとめ
- for文は同じ処理を繰り返すための書き方。
- range(3) は 0, 1, 2 の3回分を作る。
- iには繰り返しのたびに次の値が入る。