Pythonプログラムでrange関数を使ったrange型オブジェクトの作り方とfor文でのrange型オブジェクトの使い方を解説します。
range型オブジェクトの作り方
range関数「range()」を使用してrange型オブジェクトを作ります。range関数の書き方は3つあります。
range(開始値, 終了値, 増減値)
または、引数の「増減値」を省略して次のように記述することもできます。
range(開始値, 終了値)
または、引数の「開始値」と「増減値」を省略して次のように記述することもできます。
range(終了値)
サンプルプログラム(ソースコード)
range関数でrange型オブジェクトを作るプログラムです。range関数の引数を省略した書き方を含め3つあります。
print("range関数の書き方3つ")
print("(1)range(開始値, 終了値, 増減値)")
for x in range(1, 5, 1):
print(x)
print("(2)range(開始値, 終了値)")
print("増減値を省略すると増減値は1になる")
for x in range(1, 5):
print(x)
print("(3)range(終了値)")
print("開始値を省略すると開始値は0になる")
for x in range(5):
print(x)
サンプルプログラム(ソースコード)の保存先
- 保存先(venv仮想環境):C:\code\py310\venv\trial
- ファイル名:sample_code_037.py
- エンコード:UTF-8
コマンドプロンプトでサンプルプログラム(ソースコード)を実行
実行すると、1つ目は開始値の「1」から「4」まで1ずつ増加してprint文を実行しています。終了値「5」で終了してしまうため「4」までしかprint文が実行されていないことが確認できます。
2つ目は増減値を省略した書き方で実行しました。増減値を省略すると「1」となることが確認できます。
3つ目は開始値と増減値を省略した書き方で実行しました。増減値については2つ目と同様です。開始値を省略すると「0」になることが確認できます。
(trial) C:\code\py310\venv\trial>python sample_code_037.py
range関数の書き方3つ
(1)range(開始値, 終了値, 増減値)
1
2
3
4
(2)range(開始値, 終了値)
増減値を省略すると増減値は1になる
1
2
3
4
(3)range(終了値)
開始値を省略すると開始値は0になる
0
1
2
3
4
(trial) C:\code\py310\venv\trial>
range型オブジェクトの使い方
range型オブジェクトは主にfor文のイテラブルオブジェクトとして使用します。
イテラブルオブジェクトについては「Python入門 イテラブルオブジェクトの種類」も参考にしてみてください。
サンプルプログラム(ソースコード)
range関数の引数である開始値、終了値、増減値を変えfor文でrange型オブジェクトを使用するプログラムです。
print("(1)開始値が0の場合と1の場合")
print("開始値が0の場合")
for x in range(0, 5, 1):
print(x)
print("開始値が1の場合")
for x in range(1, 5, 1):
print(x)
print("(2)終了値が5の場合は4までしか実行されない")
print("終了値以上で終了となるため、終了値より小さい場合のみ実行される")
for x in range(0, 5, 1):
print(x)
# print("while で似たコードを書いてみる")
# x = 0
# while x < 5:
# print(x)
# x = x + 1
print("(3)終了値5増減値2の場合は「024」の3回実行される")
for x in range(0, 5, 2):
print(x)
print("(4)開始値5終了値0増減値ー2の場合は「531」の3回実行される")
for x in range(5, 0, -2):
print(x)
print("(5)range関数を変数に代入して使用する")
r = range(0, 5, 3)
print(r) # 変数「r」の値を表示する
print(len(r)) # 変数「r」の要素数を表示する
print("変数「r」のデータ型", type(r)) # 変数「r」のデータ型
for x in r:
print(x, "変数「x」のデータ型", type(x)) # 変数「x」のデータ型
サンプルプログラム(ソースコード)の保存先
- 保存先(venv仮想環境):C:\code\py310\venv\trial
- ファイル名:sample_code_038.py
- エンコード:UTF-8
コマンドプロンプトでサンプルプログラム(ソースコード)を実行
1つ目は開始値を「0」と「1」で実行した結果です。「0」の場合は「0」から「4」まで5回print文が実行されていますが、「1」の場合は「1」から「4」まで4回print文が実行されます。
2つ目は終了値「5」で実行した結果です。最後に実行されるのが「4」となる理由は、終了値「5」未満までという条件のため「4」までprint文が実行されます。
3つ目は終了値を「5」増減値を「2」にした結果です。開始値「0」から2ずつ増加して「0」と「2」と「4」でprint文が3回実行されます。
4つ目は開始値を「5」終了値を「0」増減値を「ー2」にした結果です。開始値「5」からー2ずつ減少して「5」と「3」と「1」でprint文が3回実行されます。
5つ目は変数「r」に代入したrange関数の値とlen関数で要素数を表示しています。最後に変数「r」と「x」のデータ型を表示しています。
(trial) C:\code\py310\venv\trial>python sample_code_038.py
(1)開始値が0の場合と1の場合
開始値が0の場合
0
1
2
3
4
開始値が1の場合
1
2
3
4
(2)終了値が5の場合は4までしか実行されない
終了値以上で終了となるため、終了値より小さい場合のみ実行される
0
1
2
3
4
(3)終了値5増減値2の場合は「024」の3回実行される
0
2
4
(4)開始値5終了値0増減値ー2の場合は「531」の3回実行される
5
3
1
(5)range関数を変数に代入して使用する
range(0, 5, 3)
2
変数「r」のデータ型 <class 'range'>
0 変数「x」のデータ型 <class 'int'>
3 変数「x」のデータ型 <class 'int'>
(trial) C:\code\py310\venv\trial>
まとめ
- range関数の書き方は引数を省略した書き方を含め3つある
- 「開始値」を省略すると「開始値」は「0」となる
- 「増減値」を省略すると「増減値」は「1」となり1ずつ増加する
- 「増減値」の頭にマイナスを付けると「減少値」となる