python3でrange関数を利用する
range関数の引数は整数しか指定することが出来ません。
第1引数のみ指定する
for文でrange関数に第1引数のみを設定すると、0を開始値として第1引数で指定された回数まで処理を行うことが出来ます。
for i in range(5):
print('ループ:{}'.format(i))
ループ:0
ループ:1
ループ:2
ループ:3
ループ:4
第2引数まで指定する
第1引数(開始値)から第2引数(停止値)の1つ前の整数まで処理を続けます。
for i in range(1 , 5):
print(f'ループ:{i}')
ループ:1
ループ:2
ループ:3
ループ:4
第3引数まで指定する
第1引数(開始値)から第2引数(停止値)の1つ前の整数まで処理を続けます。第3引数で停止値までの増分を指定します。デフォルトは1です。
for i in range(1 , 10 , 2):
print(f'ループ:{i}')
ループ:1
ループ:3
ループ:5
ループ:7
ループ:9
range関数で生成された変数の型を調べる
r = range(100)
print(r)
print(type(r))
range(0, 100)
<class 'range'>
range型であることが分かります。
range関数で生成された変数から指定範囲を取り出す
shiracamusさんから教えていただいたように、listのスライスのように、rangeのスライスを取り出せたりします。面白いですね。
>>> r = range(100)
>>> r
range(0, 100)
>>> r[50:]
range(50, 100)
>>> r[-10:]
range(90, 100)