クルトンのプログラミング教室

Pythonの使い方やPythonを使った競技プログラミングの解法などを解説しています。

for文の使い方【Python】

こんにちは、クルトンです!

この記事ではfor文の使い方を解説します。

for文とは

for文は同じ処理を繰り返したいときに使われる書式のことです。


while文も繰り返し処理に使われますが

for文は繰り返しの回数が決まっているときに、while文は繰り返しの回数が決まっていないときに使われることが多いです。


では早速、具体的な使い方を見ていきましょう!

for文の書き方

for文は以下のように書かれます

for 変数 in イテラブルオブジェクト:
    繰り返したい処理

イテラブルオブジェクトというのは、前から順番に要素を一つずつ取得できるようなデータの集まりのことです。
リストやタプル、辞書などもイテラブルオブジェクトに含まれています。


今回はリストを使って、for文の使い方を見てみましょう。

for文の使い方

コード

COLORS = ['red', 'green', 'blue', 'orange']

for color in COLORS:
    print(color)

出力結果

red
green
blue
orange

このようにfor文は、イテラブルオブジェクト(COLORS)の要素を前から一つずつ順番に取り出し、変数(color)に代入して処理を行うということを繰り返します。

繰り返す回数を指定したい場合

最初に説明したように、for文は決まった回数だけ処理を繰り返したいときに使われます。
決まった回数だけ処理を繰り返したいときにはrange関数を使います。


(range関数については以下の記事で詳しく説明しています!)

kuruton.hatenablog.com


コード

for i in range(4):
    print(i)

出力結果

0
1
2
3

range(N)は0からN-1までのN個の数字を返します。
今回はNが4なので、0から3までの4個の数字を返しています。

このrange関数を利用して、同じ処理を繰り返してみましょう。

コード

for _ in range(4):
    print("Hello World!")

出力結果

Hello World!
Hello World!
Hello World!
Hello World!

このようにrange(N)を使うことで、同じ処理をN回行うことができます。

また、今回のように変数を処理の中で用いない際は、変数名を「_」にしておくのが一般的です。
こうすることで、変数を処理の中で用いないということが一目でわかります。(もちろん変数名は「_」にしなくても問題はありません!)


continue文の使い方

特定の条件で処理をスキップしたいときには、continue文を使います。
continue文が実行されたときには、continue文以降の繰り返し処理が実行されずに次のループに移ります。

コード

for i in range(5):
    if i == 2:
        continue
    print(i)

出力結果

0
1
3
4

このプログラムでは、iが2のときにcontinue文が実行されます。
そのため、iが2のときは、continue文よりも後にあるprint関数が実行されないために、2だけが表示されません。

break文の使い方

途中でループを終わらせたいときには、break文を使います。
break文が実行されたときには、break文以降の繰り返し処理が実行されず、ループが終了します。

コード

for i in range(5):
    if i == 2:
        break
    print(i)

出力結果

0
1

このプログラムではiが2のときにbreak文が実行されます。
そのため、iが2のときは、break文よりも後にあるprint関数が実行されないために、2は表示されません。
また、break文によってループが終了しているため、3, 4も表示されません。

まとめ

  • for文は決まった回数だけ同じ処理を繰り返したいときに使われる
  • for文はイテレーターから順番に要素を取り出して処理を実行する
  • 同じ処理を決まった回数繰り返すときは、range関数を用いる
  • continue文によって処理をスキップし、break文によってループを終了させることができる

今回はfor文について解説しました。

同じく繰り返し処理に用いる、while文もセットで理解しておくことをおすすめします。

ではまたお会いしましょう!さようなら~