サイトアイコン ITC Media

【初心者向け】Pythonのrange関数を基礎から実践まで徹底解説|for文や応用例を交えてわかりやすく解説

(最終更新月: 2025年7月26日)

✓当記事はこんな方におすすめです

「Pythonのrange関数とは何かを知りたい」

「range関数の使い方や基本文法をマスターしたい」

「for文×rangeなど、日常で役立つ具体的なコード例を学びたい」

✓当記事で理解できること

この記事ではPythonでの繰り返し処理に欠かせないrange関数について、基礎から現場でよく使われる応用まで、実践的なサンプルコードを使って徹底解説します。

初学者にもつまずきやすい注意点や、プログラム現場で「こう使えば時短できる!」と感じたテクニックも紹介します。

ぜひ最後までご覧いただき、Python rangeの活用力をグンと伸ばしてください。

それでは、一緒に学んでいきましょう。

運営者プロフィール

現在はIT企業のプロダクトマネージャーとして、個人向け/社内向けシステムなど、複数のシステム開発・運営に携わっています。

Webサイト構築やECサイトの開発経験に加えて、PythonなどのプログラミングやSalesforceなどのクラウドアプリケーションに関する幅広い知識・経験を活かして「プログラミング初心者がスムーズに学べるサイト」を目指しています。

Githubでは、趣味で作成したアプリなどを公開しています。

https://github.com/Yulikepython/

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

Pythonのrange関数とは?初心者にもわかる超基本

このセクションではPythonのrange関数の概要と、なぜPython学習初期においてほぼ必須な仕組みなのかを丁寧に解説します。

range関数はfor文などの繰り返し処理とセットで使われることが多く、基礎を押さえておくとコードが圧倒的に読みやすくなります。

range関数の役割とイメージ

range関数は「指定した範囲の整数」を順番に返してくれる魔法の箱です。

for文と組み合わせることで「何回繰り返したいのか」「どこからどこまでやりたいのか」を直感的に指定できます。

イメージとしては「0,1,2,3,4……」といった数字のリストを自動で作り出すイメージです。

Python標準のループ制御で必ずといっていいほど登場します。

なぜプログラミング初学者はrange関数を知るべきか

まず、繰り返し処理をシンプルに、効率よく書くためにはrange関数が必須だからです。

1〜100まで何かを繰り返したい、リストの中身を順番に取り出したい……そんなときrange関数は一行で“回数指定”ができます。

実務・学習問わず、今後のPython学習のあらゆる場面で使うので、一度覚えておくと後が圧倒的に楽になります。

さらに、range関数は「スタート・ストップ・ステップ」のパラメータを調整するだけで様々なバリエーションが作れ、現場のプロも日常的に活用するパーツです。

実際のイメージ図解と一番シンプルな使用例

たとえば range(5) を使って0から4までの数字を順に表示するとこんな感じ。

for i in range(5):
    print(i)

出力は「0, 1, 2, 3, 4」となります。このように0から始まり引数の手前まで繰り返すというのが最も基本的な使われ方です。

range関数の基本構文 〜スタート・ストップ・ステップを完全理解

ここではrange関数の3つのパラメータ「start」「stop」「step」を基礎から順に解説します。

エラーなく、思い通りにループを制御するために、本質的な仕組み・よくあるミスとコツを押さえましょう。

range(stop)の書き方と動き

range(数値)と書くと0から「数値−1」まで順番に値を返します。

たとえばrange(3)なら0,1,2を返します。

for i in range(3):
    print(i)

実際に自分で入力して確かめることで「数字リストが作られる」イメージが湧くでしょう。

このシンプルな形はPython初学者向けの定番中の定番です。

range(start, stop)で任意の開始値から繰り返す

「0からじゃなくて、5から10までの処理にしたい」という時はstart, stopの両方を指定します。

range(開始値, 終了値)で“開始値”から“終了値−1”までを繰り返すイメージです。

for i in range(5, 8):
    print(i)

この場合、5・6・7が表示されます。終了値は「含まない」に注意してください。

range(start, stop, step)で間隔調整

3番目のパラメータとしてstepを指定することで、値の飛び幅=間隔をコントロールできます。

たとえばrange(1, 10, 3)なら「1」「4」「7」が表示される仕組みです。

for i in range(1, 10, 3):
    print(i)

このstepにはマイナス値も指定できるので、降順(逆順)のループも簡単に書けます。

range関数の実践テクニックと応用例

このセクションではrange関数の応用的な使い方や、現場で頻出する便利パターンを紹介します。

Python現場の初学者が「これ知っておけば一歩前に進める!」と感じるノウハウを中心に解説します。

降順ループやマイナスstepの使いどころ

たとえば「カウントダウン」や「逆順でリスト操作したい」時、range関数のstepをマイナスにすれば一発で解決できます。

for i in range(10, 0, -2):
    print(i)

この例なら「10, 8, 6, 4, 2」が出力されます。0は含まれませんので注意しましょう。

逆順ループは意外と書き間違いが多いので、startとstop,そしてstepの関係を必ず確認すると良いでしょう。

float型はrange関数で扱える?現場での対応方法

標準のrange関数はfloat(小数点つきの数値)を直接は扱えません

ですが、小数間隔でループしたい場合はnumpyパッケージの arange() 関数を使うのが定番です。

import numpy as np

for x in np.arange(0.0, 1.0, 0.2):
    print(x)

出力は「0.0, 0.2, 0.4, 0.6, 0.8」となります。データ分析やグラフ処理でしばしば利用されます。
関連: Pythonで行列を自在に扱う入門ガイド

リスト内包表記との組み合せテクニック

「0〜9までのリストが欲しい」「1行でfor文の処理とリスト作成を同時にやりたい」—そんな時はリスト内包表記×rangeの組合せが便利です。

squared = [i*i for i in range(5)]
print(squared)

上記コードは「0,1,4,9,16」と2乗したリストを作ります。Pythonリストの基礎と応用も参照してみてください。

range関数でよくある失敗とその原因・解決ポイント

このセクションではPython初学者がrange関数で陥りがちなエラーや、実際につまずきやすいポイントについて現場視点で解説します。

原因と対策を知っておくことで、エラーにぶつかっても落ち着いて対応できるようになります。

TypeError(引数の型ミス)のよくある原因と見破り方

range() の引数に整数以外(例えば文字やfloat型)を入れると「TypeError: ‘float’ object cannot be interpreted as an integer」などのエラーが発生します。

たとえば、下記コードはエラーとなります:

for i in range(0, 5, 0.5):
    print(i)

エラー時は引数をint型、またはint()でキャストしてみるのが最初の対処法です。

終了値(stop)が入らない落とし穴

range関数のstopは「含まれない」点が初心者にとって典型的なミスポイントです。

例えばrange(1, 6)のループ内で5までしか処理されません(6は表示されない)。

もし指定した値も含めたい場合は「stop値+1」など、工夫が必要です。

float値をrangeに直接渡してしまうパターン

「0.1ずつ増やしたい!」「0.2刻みで処理したい!」と安易にrange(0, 1, 0.2)と書く人が多いですが、rangeは小数点をサポートしていません。

小数ステップの場合はnumpyやリスト内包表記で独自に作成しましょう。

現場で使える!range関数×Pythonのよくある利用シーン集

このセクションでは、実際のIT現場や学習で役立つrange関数の活用例を紹介します。

「こんなこともできるのか」と感じていただけるよう、応用例や他のPython機能との連携方法も解説します。

リストの要素を部分的に指定して取り出す

リストの中から一部だけを操作したいとき、range()でインデックスを指定して取り出す方法が便利です。

fruits = ['apple', 'banana', 'cherry', 'orange', 'kiwi']
for i in range(1, 4):
    print(fruits[i])

この場合「banana」「cherry」「orange」が表示されます。
詳細: Python Listの要素を削除する方法

EnumerateやZipなど他の便利関数との組み合わせ

range単体だけでなく、enumerateやzip関数と一緒に使うことで「複数のリストを同時に」や「インデックス付きで値を取り出す」ことができます。

names = ['tarou', 'hanako', 'kenta']
for i, name in enumerate(names):
    print(f'{i}: {name}')

「0: tarou」「1: hanako」「2: kenta」のような出力になります。
詳しくは enumerate関数の使い方zip関数との組み合わせ も合わせてご覧ください。

データ分析やグラフ用途で大量のデータ作成

range関数を使えば「1000個のテストデータ」「0.1刻みで100個の数値リスト」などを一瞬で作れます。

データ分析やグラフ化では必須級のテクニックです。

data = [i/10 for i in range(10)]
print(data)

0.0〜0.9までのリストが出力できます。データの視覚化についてさらに知りたい方は Matplotlibの余白調整方法を完全解説! も参考にしてください。

まとめ

・Pythonのrange関数は整数の範囲を簡単・効率的に生成できる便利な組み込み関数。

・rangeのスタート、ストップ、ステップを状況に応じて使い分けることで、さまざまなループやデータ生成が可能。

・リスト内包表記や他の組み込み関数と一緒に利用することで、日常の業務や学習がよりスマートになる。

range関数はPython学習の基礎であり、応用次第で現場力も格段にアップします。もし更にPython全般の理解を深めたい方は、現場で役立つサンプルが豊富な Pythonの初心者向けサンプルコードを徹底紹介 も併せて活用してください。

プログラミングの学習を更に加速したい方は、カウンセリングや独自給付金のあるスクール(受講者満足度90%以上のプログラミングスクール【DMM WEBCAMP】)を検討するのもおすすめです。

あなたのPythonスキルが日々の業務やキャリアにしっかり生かされることを応援しています!

モバイルバージョンを終了