Función incorporada Python range()

De la documentación de Python 3

En lugar de ser una función, range es en realidad un tipo de secuencia inmutable, como se documenta en Rangos y Tipos de Secuencia — list, tuple, range.

Introducción

El tipo range se utiliza comúnmente en bucles for para iterar un número específico de veces. range acepta tres parámetros: start, stop y step. Cada parámetro debe ser un entero (ya sea el int incorporado o cualquier objeto que implemente el método especial index()).

Si solo hay un parámetro, representa el parámetro stop. Si el parámetro step se omite por completo, tendrá un valor predeterminado de 1. Si el parámetro start se omite, tendrá un valor predeterminado de 0.

Los rangos admiten índices negativos, pero estos se interpretan como indexación desde el final de la secuencia determinada por los índices positivos.

***La ventaja del tipo range sobre una list o tuple regular es que un objeto range siempre ocupará la misma cantidad (pequeña) de memoria, sin importar el tamaño del rango que represente.

Parámetros de Entrada

Los rangos implementan todas las operaciones de secuencia comunes, excepto la concatenación y la repetición (debido al hecho de que los objetos range solo pueden representar secuencias que siguen un patrón estricto y la repetición y concatenación generalmente violarán ese patrón).

start:

  • El valor del parámetro de inicio
  • Si no se suministra, el parámetro tendrá un valor predeterminado de 0
  • El valor del parámetro es inclusivo

stop

  • El valor del parámetro de parada
  • El único parámetro que es obligatorio
  • El valor del parámetro es exclusivo

step

  • El valor del parámetro de paso
  • Si no se suministra, el parámetro tendrá un valor predeterminado de 1

Ejemplos

Rango con solo el parámetro stop especificado

for i in range(5):
    print(i)
0
1
2
3
4

Rango con los parámetros start y stop

for i in range(1, 8):
    print(i)
1
2
3
4
5
6
7

Rango con todos los parámetros especificados

for i in range(0, 30, 5):
    print(i)
0
5
10
15
20
25

Rango con todos los parámetros, donde el parámetro stop no es divisible por el parámetro step

for i in range(0, 10, 3):
    print(i)
0
3
6
9

Rango con todos los parámetros, donde los parámetros stop y step son negativos

for i in range(0, -6, -1):
    print(i)
0
-1
-2
-3
-4
-5

Dos ejemplos donde el parámetro stop se establece en 0

for i in range(0):
    print(i)
(no output)
for i in range(1, 0):
    print(i)
(no output)

Enlaces relevantes