やっほー!国内のAI狂いだよ!✨
第6回へようこそ!今回はプログラミングの最強武器、「ループ(繰り返し)」を手に入れるよ。
「同じ作業を100回やって」なんて言われたら逃げ出したくなるけど、Pythonなら3行書くだけで文句も言わず一瞬でやってくれるの。
この「全自動化」の快感を覚えたら、もう手作業には戻れないよ〜!早速やってみよう!🐍💨
公式の「ここがわかりにくい」:算術型の数列って?
公式チュートリアルの for 文の説明を見てみよう。
Python の for 文は、 (Pascal のように) 常に算術型の数列にわたる反復を行ったり、 (C のように) 繰返しステップと停止条件を両方ともユーザが定義できるようにするのとは違い...
「算術型の数列にわたる反復...?」🤔
他の言語(C言語とか)を知ってる人への説明だから難しく書いてあるけど、要するに「Pythonのfor文は、箱の中身を全部出し切るまで繰り返す機能だよ!」ってこと。
リストや文字列といった「まとまったデータ」を、先頭から順番に取り出してくれる便利屋さんなんだね。
1. for文の基本:リストの中身を順番に処理!
書き方は for 変数 in データ: 。
リスト(お椀の山)から、要素(そば)を一つずつ取り出して、変数(お椀)に入れてくれるイメージだよ。
🐍 サンプルコードを見る(クリックで開閉)
# 猫の名前リスト
cats = ['ミケ', 'タマ', 'クロ']
# リストから1匹ずつ取り出して、変数 cat に入れる
for cat in cats:
# 繰り返しやりたい処理(インデントを忘れずに!)
print(f"{cat}ちゃん、かわいい!")
print(f"{len(cat)}文字の名前だね")
ミケちゃん、かわいい!
2文字の名前だね
タマちゃん、かわいい!
2文字の名前だね
クロちゃん、かわいい!
2文字の名前だね
リストの要素がなくなったら、ループは自動的に終了するよ。
「何回繰り返すか」を自分で数えなくていいから超楽ちん!✨
2. range()関数:回数を指定して繰り返す
「リストの中身じゃなくて、単純に5回繰り返したい!」って時はどうするの?
そんな時に使うのが range() 関数だよ。
これを使うと、指定した範囲の数字(整理券)を順番に出してくれるの。
使い方は3パターン!(試験に出るよ!)
range(終了): 0 から 終了の1つ手前 までrange(開始, 終了): 開始 から 終了の1つ手前 までrange(開始, 終了, ステップ): いくつ飛ばしで進むか
🐍 サンプルコードを見る(クリックで開閉)
# パターン1: 5回繰り返す (0, 1, 2, 3, 4)
print("--- パターン1 ---")
for i in range(5):
print(i)
# パターン2: 5から9まで (10は含まない!)
print("--- パターン2 ---")
for i in range(5, 10):
print(i)
# パターン3: 0から10まで、3つ飛ばし (0, 3, 6, 9)
print("--- パターン3 ---")
for i in range(0, 10, 3):
print(i)
--- パターン1 ---
0
1
2
3
4
--- パターン2 ---
5
6
7
8
9
--- パターン3 ---
0
3
6
9
range(5) は 0, 1, 2, 3, 4 の5個。「5」自体は含まれない っていうのが最大の罠!スライスの時と同じだね。
3. range()の正体はリストじゃない!?
ここでちょっと不思議な実験をしてみよう。
range(5) って、[0, 1, 2, 3, 4] というリストを作ってるのかな?
🐍 実験コードを見る(クリックで開閉)
# printしてみると...?
print(range(5))
range(0, 5)
あれっ!?リストが表示されない!😲
実は range() は、「必要になったら数字を一つずつ渡すけど、普段はメモリを節約するために正体を隠している」 というケチな(賢い)やつなんだ。
こういう性質をイテラブル(iterable)って言うよ。
もし中身をリストとして見たいときは、list() 関数で強制的にリスト化する必要があるんだ。
print(list(range(5)))
# 結果: [0, 1, 2, 3, 4]
試験に出る!要注意ポイント
今回の範囲で、Python 3 エンジニア認定基礎試験によく出るポイントをまとめたよ!📝
① for文のターゲットにできるもの
for x in 〇〇: の「〇〇」に置けるのは、リストだけじゃないよ。
文字列もOK!1文字ずつ取り出されるよ。
for char in "Python":
print(char)
# P, y, t, h, o, n が順に表示される
② rangeのステップに負の数
range(10, 0, -1) のように、ステップにマイナスを指定するとカウントダウンもできるよ。
この場合も「終了の値(0)」は含まれないから、10, 9, ..., 1 で止まることに注意!
range(1, 10) で「1から10まで」回ると思ってたら、9までしか回らなくてバグったことが何度もあるよ😭「10回やりたいときは
range(10)」「1から10までなら range(1, 11)」みたいに、欲しい数 + 1 を指定する癖をつけるのがコツだね!
理解度チェック!ミニクイズ
for文とrange、バッチリ使いこなせそう?
試験レベルの問題でチェックしてみよう!🔍
次のコードを実行したとき、最後に表示される数字は?
for i in range(1, 5): print(i)
解説:
range(開始, 終了) のルールは「終了は含まない(未満)」。
だから 1, 2, 3, 4 までが表示されて、5は表示されないよ!
range(0, 10, 2) で生成される数列に含まれない数字は?
1. 0
2. 8
3. 10
解説:
0から始まって2ずつ増えるから、0, 2, 4, 6, 8... となるね。
次は10だけど、range の終了値は含まれないから、10の手前(8)で終わるんだ。
次のうち、for文でループできない(イテラブルでない)ものは?
1. リスト [1, 2]
2. 文字列 "abc"
3. 整数 100
100
解説:
リストや文字列は「中身を一つずつ取り出せる」からループできる。
でも整数(int型)は単なる数字だから、「中身を順番に出す」なんてできないよね。for i in 100: はエラーになるよ!
まとめ:次回への引き
今回は「for文とrange関数」について解説したよ!
これで単純作業は全部Pythonに丸投げできるね✨
次回は、ループをもっと自由に操る裏技!
テーマは「ループの裏技:breakとelseの組み合わせ」だよ。
「特定の条件でループを緊急停止!」とか「ループが無事に終わった時だけ何かする」といった、ちょっとマニアックだけど試験に出るテクニックを紹介するね!お楽しみに!👋✨
出典: Python公式チュートリアル
Copyright © 2001-2026 Python Software Foundation. Licensed under the PSF License.






