Python2では、xrange()という関数がありました。この関数は、引数に設定した値を元に連続した数のイテレータを返す機能を持っていました。

xrange関数とは

xrange()関数は、Python2系で引数に設定した値を元に連続した数のイテレータを返す関数です。Python3系からはxrange()関数の特徴だった部分をrange()関数が引き継いだため使えなくなりました。

range関数とxrange関数の違い

range()関数とxrange()関数は非常に近い動きをします。二つとも繰り返し処理で使えることも同じで設定する引数も同じですが違いは戻り値が違います。range()関数の戻り値は繰り返し処理で繰り返す値が入ったリストであるのに対し、xrange()はイテレータと呼ばれるxrangeオブジェクトが戻ってきます。

xrange関数の使い方

xrange()関数の記述方法は以下の通りです。

xrange(繰り返しの開始の値, 繰り返しの回数, 増減(減少)する量)

第1引数には繰り返しを開始する値を設定します。デフォルトは0です。第2引数には繰り返しの回数を指定します。これはデフォルト値がないので必ず設定します。第3引数には増減値を設定します。こちらのデフォルト値は1ずつ増加となります。

Python3とxrange

Python3では、xrange()は使えなくなり、その代わりにrange()xrange()の特性を引き継ぎました。そのため、Python3でxrange()を使おうとするとNameError: global name 'xrange' is not definedというエラーが出ます。Python3でxrange()のような機能を使いたい場合は、range()を使用します。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です