Python2では、xrange()
という関数がありました。この関数は、引数に設定した値を元に連続した数のイテレータを返す関数でした。
xrange()
関数は、Python2系でのみ使用可能で、Python3系では使用できません。Python3系では、xrange()
の特性がrange()
関数に引き継がれ、xrange()
そのものは使用できなくなりました。
xrange()
とrange()
の主な違いは、戻り値が異なることです。range()
関数の戻り値は、繰り返し処理で繰り返す値が入ったリストであるのに対し、xrange()
はイテレータと呼ばれるxrange()
オブジェクトを返します。
イテレータは、繰り返し処理をする際に次の値を毎回見に行くことから、途中で中断されても大きな問題がありません。そのため、メモリ的にも非常に優れています。
以上、Python2のxrange()
関数についての解説でした。Python2とPython3の違いを理解することは、Pythonのバージョン間の互換性を理解する上で重要です。