Python入門 range型オブジェクトの作り方と使い方

Pythonプログラムでrange関数を使ったrange型オブジェクトの作り方とfor文でのrange型オブジェクトの使い方を解説します。

スポンサーリンク
スポンサーリンク

range型オブジェクトの作り方

range関数「range()」を使用してrange型オブジェクトを作ります。range関数の書き方は3つあります。

range文

range(開始値, 終了値, 増減値)
または、引数の「増減値」を省略して次のように記述することもできます。
range(開始値, 終了値)
または、引数の「開始値」と「増減値」を省略して次のように記述することもできます。
range(終了値)

  • 「開始値」を省略すると「開始値」は「0」となります。
  • 「増減値」を省略すると「増減値」は「1」となり1ずつ増加します。
  • 「増減値」の頭にマイナスを付けると「減少値」となります。

サンプルプログラム(ソースコード)

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ずつ増加する
  • 「増減値」の頭にマイナスを付けると「減少値」となる
スポンサーリンク
スポンサーリンク
Python入門
Python Start を フォローする
Python Start
タイトルとURLをコピーしました