AI資格ドリル
資格を選ぶ↓

Python3エンジニア認定基礎試験 用語解説

range()とは

数列を作る組み込み関数。range(10) は 0 から 9 までの 10 個の値を生成し、指定した終端値は含まれない。増加量(ステップ)は負でもよく、list(range(0, 10, 3)) は [0, 3, 6, 9] になる。返すオブジェクトはリストのように振る舞うが本当はリストではなく、実際にリストを作らないのでスペースの節約になる。

まず押さえる結論

range()は、Python3エンジニア認定基礎試験の「第4章 制御構造ツール」で確認しておきたい用語です。定義だけでなく、どの場面で使う言葉か、何と混同しやすいか、問題文のどの表現で判断するかまで確認します。

情報源と編集区分

公式範囲を確認し、具体例・誤答例・判断手順は当サイトが編集。 一次情報確認日: 2026-09-18。

試験概要(公式)

試験での問われ方

01

定義の言い換え

用語そのものではなく、説明文の一部を言い換えて出されることがあります。

02

似た概念との比較

同じ章の用語と入れ替えた選択肢に注意します。対象、目的、使う場面を分けます。

03

具体例からの判断

問題文の事例が、定義のどの部分に対応しているかを先に確認します。

誤答しやすいポイント

×ループの else 節が実行される条件。break で抜けたときは実行されず、使い切って終わったときに実行される。return や例外で途中終了した場合も実行されない。

×range の終了値が含まれないこと。range(2, 10) は 9 までで、10 は含まれない。

×デフォルト引数の評価は定義時に一度だけ。可変オブジェクトをデフォルト値にすると呼び出し間で状態が残る。

関連する確認問題

第4章 制御構造ツール / for文とrange

range(2, 10) が生成する値の並びはどれか。

正解は「2, 3, 4, 5, 6, 7, 8, 9」である。range に2つの引数を渡した場合、1つ目が開始値、2つ目が終了値で、終了値は含まれない。そのため 2 から 9 までの8個の値が生成される。終了値を含めたい場合は range(2, 11) と書く。開始値を省略した range(10) は 0 から始まるため、1 から始まる並びにはならない。増分を指定するには3つ目の引数が必要で、2つの引数だけでは偶数に限定されない。range は for i in range(2, 10): のように for文と組み合わせて使うことが多く、添字が必要な場面では for i in range(len(seq)): のように len() と組み合わせる書き方もある。値と添字の両方を同時に扱いたいときは、range と len を組み合わせるより enumerate() を使うほうが読みやすいとされる。

第4章 制御構造ツール / for文とrange

リストの要素と、その位置を示す番号を同時に取り出しながらループしたい。用いる関数はどれか。

正解は「enumerate()」である。設問は反復可能オブジェクトから要素と位置番号を同時に取り出す方法を尋ねている。range は連続した整数を生成する関数であり、それ自体は対象の要素を返さないため、要素を得るには別途インデックス参照が必要になる。len は要素の総数を返す関数であり、ループの中で要素を1つずつ取り出す操作とは無関係である。zip は複数の並びを同じ位置ごとに組み合わせる関数であり、1つの並びから位置番号を得る用途とは目的が異なる。位置番号と要素の組を1つの並びから直接取り出せるのは enumerate である。

第4章 制御構造ツール / 引数の指定

args = [2, 8] のとき、list(range(*args)) の結果はどれか。

正解は [2, 3, 4, 5, 6, 7] である。公式チュートリアルは、引数がすでにリストやタプルになっていて個別な位置引数を要求する関数呼び出しに渡す場合は「関数呼び出しを * 演算子を使って書き、リストやタプルから引数をアンパックします」と述べ、args = [3, 6] のとき list(range(*args)) が [3, 4, 5] になる例を示している。range(*args) は args の要素を取り出して range(2, 8) と書いたのと同じになる。range() は終端の値を含まないので、2 から 7 までの整数が並ぶ。* を付けずに range(args) と書くとリストを1つの引数として渡すことになり TypeError になるが、* を付けたこの式は TypeError にならない。

同じ章で確認したい用語

到達チェック

  • range()を一文で説明できる
  • 同じ章の似た用語と違いを説明できる
  • 問題文の具体例から、range()に関係する論点を拾える
  • 関連問題を解き、誤答した選択肢の理由を確認できる

執筆: ミナト編集部(運営者情報を見る)