プログラミングの真価が発揮される瞬間といえば、やっぱり「同じ作業を一瞬で何回も繰り返してくれる」ところ。手作業で1時間かかっていたファイル整理が、たった数行のコードで数秒に短縮される——その快感を一度味わうと、もうループなしの世界には戻れません✨
Pythonには大きく分けて2種類の繰り返し構文があり、それが for文 と while文。今日while文の使いどころをしっかり押さえれば、明日からは「回数が決まっていない処理」もスマートに書けるようになり、コードの引き出しが一気に広がりますよ🚀
while文は、ある条件がTrue(真)である間、ある処理を繰り返すという命令文です。
書き方はとてもシンプル。
while 条件:
繰り返したい処理
条件の後ろに :(コロン)を書いて、次の行をインデントで字下げ。それだけで「条件がTrueの間、ずっとこの処理をやってね」とPythonに伝えられます😊
変数 x に 0 を代入して、「x が10以下なら x に1を足して表示する」というプログラムを書いてみます。
x = 0
while x <= 10:
x += 1
print(x)
これを実行すると 1 から 11 までが順番に表示されます。x が 11 になった瞬間に条件が False になるため、ループを抜けて処理が終わる、という仕組みです。
もし上のコードで x += 1 を書き忘れたら、x は永遠に 0 のまま。条件はずっとTrueになり、Pythonはひたすら処理を繰り返し続けてしまいます。これが 無限ループ です😱
無限ループになってしまったときの止め方を覚えておくと安心です。
ループの途中で if 文を使い、ある条件を満たしたら break を実行することで、その時点でループを抜けられます。
x = 0
while x <= 10:
x += 1
if x % 5 == 0:
break
print("ループ最終行", x)
このコードでは x が5の倍数になった瞬間にループ全体を終了します。最終行のprintも実行されません。
continue は「今回の処理は飛ばして、次の繰り返しに進んで」という命令です。breakと違い、ループ自体は終わりません。
x = 0
while x <= 10:
x += 1
if x % 5 == 0:
continue
print("ループ最終行", x)
こちらは x が5の倍数のときだけ最終行のprintをスキップします。breakとcontinueの違いを使い分けられると、ループの表現力が一気に上がります💪
「結局for文とwhile文、どう使い分ければいいの?」という疑問は誰もが通る道。シンプルな指針はこちらです。
正直なところ、日常的なPythonコードはfor文で書ける場面が多く、while文の出番は少なめ。ただし、「終わりのタイミングが状況次第で変わる処理」ではwhile文が圧倒的にスマートです。
ファイルを1行ずつ読み込むとき、ファイルの行数は事前にわからないことが多いですよね。そんなときこそwhile文の出番です。
f = open("test.txt")
line = f.readline()
while line:
print(line)
line = f.readline()
f.close()
readline() はファイルの最後まで読み終わると空文字を返すため、while line: の条件が自動的にFalseになり、ループが綺麗に終わります📁
頭で分かったループも、手を動かさないと「使いこなせる」レベルには届きません。学習のスピードと継続力を底上げしてくれる相棒たちを厳選しました。
制御構文は文字だけだと頭に残りにくい部分。図解とサンプルが豊富な一冊が手元にあると、ループでつまずいたときにすぐ立ち戻れます。
while文・for文・break・continueの組み合わせは、問題を解いて初めて身につくタイプの知識。アルゴリズム的な思考も同時に鍛えられます。
ループを「実際にどう使うか」のサンプルが豊富。ファイル処理・スクレイピング・データ整形など、現場で頻出のパターンを真似しながら覚えられます。
左でコードを書き、右でターミナルや書籍PDFを開く——この環境を作るだけで学習効率が倍増します。コンパクトなモバイルモニターは省スペースでも導入しやすい一台。
ループの流れを紙に書き出して整理すると、頭の中だけで考えるより圧倒的に理解が早まります。アナログな道具こそ、最強のデバッグツールです。
Pythonのコミュニティでは、回数やデータ構造で繰り返せる場合は for文 が好まれます。条件が複雑で「いつ終わるかコード上で表しにくい」ときにwhile文を選ぶと自然です。
慌てなくて大丈夫です。ターミナルなら Ctrl + C、IDEなら停止ボタンで止められます。原因は「条件をFalseに変える処理を書き忘れた」ケースがほとんどなので、落ち着いてコードを見直しましょう。
break は ループを抜ける、return は 関数を抜ける ための命令です。役割の階層が違うので、混同しないように注意しましょう。
条件部分に直接 True を書くと、必ず無限ループになります。中で break を使って「特定の条件のときだけ抜ける」設計にするのが定番のテクニックです。
現代的なPythonでは for line in f: という書き方が最もシンプルでおすすめ。while文+readlineは、より細かい制御が必要なときに使い分けると良いでしょう。
while文は「条件がTrueの間、処理を繰り返す」というシンプルなルールで動きます。break でループを抜け、continue で1回だけスキップ——この3つの組み合わせを覚えるだけで、ループ処理の表現力は飛躍的に高まります🌈
あとはfor文との使い分けを意識しながら、たくさんコードを書くだけ。手を動かす環境を整えて、「ループを書くのが楽しい!」と感じる毎日を手に入れましょう🚀