Pythonで指定回数のループ処理を行う:range()関数の活用

プログラミングでは、リストの要素数に関係なく、「処理を5回だけ繰り返したい」「10回リトライしたい」といった、特定の回数だけループを実行したい場面があります。

Pythonでは、for 文と組み込み関数の range() を組み合わせることで、これを簡潔に実現できます。

この記事では、range() 関数を使用して指定回数のループ処理を実装する方法と、ループ変数を扱わない場合の一般的な記述方法について解説します。

目次

基本的な書き方

指定した回数だけ処理を繰り返すには、range() 関数の引数に繰り返したい回数(整数)を渡します。

構文:

for 変数 in range(回数):
    # 繰り返したい処理

range(N) は、0 から N-1 までの整数シーケンスを生成します。結果として、ブロック内の処理は N 回実行されます。

1. ループ変数(カウンタ)を利用する場合

ループの中で、現在が何回目の処理なのかを知りたい場合は、for 文の変数(一般的に iindex などが使われます)を利用します。

以下の例は、サーバーへの接続をシミュレーションし、試行回数を表示するプログラムです。

# 最大リトライ回数
max_retries = 5

print("--- 接続処理を開始します ---")

# 0 から 4 までの 5回繰り返す
for i in range(max_retries):
    # i は 0 から始まるため、表示用に +1 する
    attempt_number = i + 1
    print(f"サーバーに接続を試行しています... ({attempt_number} / {max_retries})")

print("--- 処理完了 ---")

実行結果:

--- 接続処理を開始します ---
サーバーに接続を試行しています... (1 / 5)
サーバーに接続を試行しています... (2 / 5)
サーバーに接続を試行しています... (3 / 5)
サーバーに接続を試行しています... (4 / 5)
サーバーに接続を試行しています... (5 / 5)
--- 処理完了 ---

range(5)0, 1, 2, 3, 4 という数値を順に生成するため、変数 i にはこれらの値が順番に代入されます。

2. ループ変数を利用しない場合(アンダースコア _

単に処理を繰り返すだけで、現在が何回目かという情報(ループ変数)をコード内で使用しない場合もあります。

そのような場合、Pythonの慣習として変数名に _(アンダースコア) を使用することが推奨されます。これにより、「この変数は意図的に使用していません」ということをコードを読む人に明示できます。

# データ送信を3回繰り返すシミュレーション
repeat_count = 3

print("データ送信開始")

# 変数を使わないので '_' を指定する
for _ in range(repeat_count):
    print("パケットを送信しました。")

print("送信完了")

実行結果:

データ送信開始
パケットを送信しました。
パケットを送信しました。
パケットを送信しました。
送信完了

変数名を i にしても動作に問題はありませんが、_ を使うことで、変数が未使用であることを静的解析ツールなどが認識しやすくなり、コードの意図も明確になります。

まとめ

  • 指定回数のループを行うには for i in range(回数): を使用します。
  • range(N)0 から N-1 までの値を生成します。
  • ループ変数の値(現在の回数)を使わない場合は、変数名に _ を使うのが一般的です。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次