【Python入門】rangeとは?基本の使い方やfor文との組み合わせについて解説
Pythonでは、for
文とともにrange()
という記述を見る場面がしばしばあります。
特にrange()
は配列の操作と相性が良いため、上手に活用すれば様々な処理を行うことが可能です。
この記事では、range()の意味や基本的な使い方、for文と組み合わせて用いる方法について解説します。
range()とは?
range()
は、連続した整数を要素に持つオブジェクトを作成するための記述法です。
括弧()内に範囲を指定することで、該当する整数を保持したオブジェクトを作成できます。
また、range()
で返される結果はあくまで「数値の範囲を指し示すもの」になります。
そのため、実際にはrange()
の範囲をもとに配列を作成したりと、別の記述法と組み合わせて使用する場合が多いです。
rg = range(5) # 5未満の整数(0~4)の要素に持つオブジェクトを作成
print(rg) # rgの中身(rangeの結果)を表示
print(list(rg)) # rgの範囲をもとにリストを作成して表示
= 実行結果 =
range(0, 5)
[0, 1, 2, 3, 4]
なお、書籍やサイト等でrange()
を「関数」として説明している場合がありますが、厳密に言うとこれは正しい表現ではありません。
Pythonの公式ドキュメントでは、range()
に関して以下のように記載しています。
【引用】組み込み関数 – Python Documentation
range
は、実際には関数ではなくイミュータブルなシーケンス型で、 range と シーケンス型 — list, tuple, range にドキュメント化されています。
つまり、range()
はリストやタプルといったデータ型に似た扱いで、「“range型”のオブジェクト」を作成するための特別な記述法と考えた方が近いと言えるでしょう。
基本的な使い方
range()
を使用する際は、「range(終了番号)」あるいは「range(開始番号, 終了番号, ステップ)」といった形で記述します。
- 開始番号
-
指定範囲の開始地点(最小)となる数値
デフォルトの値は0となっている - 終了番号
-
指定範囲の終了地点(最大)となる数値
「未満」の扱いになるため、終了番号は範囲に含まれない - ステップ (※任意)
-
いくつずつ数値を取得していくか
デフォルトの値は1となる(飛ばしなしで取得)
また、マイナス値で指定すると数値を逆順で取得可能
なお、開始番号や終了番号、ステップの定義はスライス機能と同義になります。
以下の記事にて、詳しい説明や事例を紹介していますので、よかったら参考にしてみてください。
for文との併用(反復回数の指定)
for
文では、指定した範囲で同じ処理を繰り返し実行することができます。
使用時の記述方法として、「for 変数名 in 繰り返し回数 :」のin
以降にて反復回数の指定が可能です。
その際にrange()
を用いれば、実行したい回数を数値にて自由に決定できます。
for i in range(3): # 3未満の数値(0~2)をiという変数に保持し、以下の処理を繰り返し実行
print(i, "回目の処理") # iの中身と文字列を表示 ※3回行う
= 実行結果 =
0 回目の処理
1 回目の処理
2 回目の処理
まとめ
この記事では、range()
の意味や基本的な使い方、for
文と組み合わせて用いる方法について解説しました。
配列を扱う上では必要不可欠な要素ですので、日頃から少しずつ使い慣れておくことをおすすめします。