Встроенная функция Python range()

Из документации Python 3

Вместо функции range является неизменяемым типом последовательности, как описано в Ranges and Sequence Types — list, tuple, range.

Введение

Тип range обычно используется в циклах for для выполнения итераций определенное количество раз. range принимает три параметра: start, stop и step. Каждый параметр должен быть целым числом (либо встроенным int, либо любым объектом, реализующим специальный метод index()).

Если указан только один параметр, он представляет параметр stop. Если параметр step вообще не указан, по умолчанию он будет равен 1. Если параметр start не указан, по умолчанию он будет равен 0.

Диапазоны поддерживают отрицательные индексы, но они интерпретируются как индексация с конца последовательности, определяемой положительными индексами.

***Преимущество типа range перед обычным list или tuple заключается в том, что объект range всегда будет занимать одинаковый (небольшой) объем памяти, независимо от размера диапазона, который он представляет.

Входные параметры

Диапазоны реализуют все общие операции с последовательностями, кроме конкатенации и повторения (из-за того, что объекты range могут представлять только последовательности, следующие строгому шаблону, а повторение и конкатенация обычно нарушают этот шаблон).

start:

  • Значение параметра start
  • Если не указано, параметр по умолчанию равен 0
  • Значение параметра включительно

stop

  • Значение параметра stop
  • Единственный обязательный параметр
  • Значение параметра исключительно

step

  • Значение параметра step
  • Если не указано, параметр по умолчанию равен 1

Примеры

Диапазон, указан только параметр stop

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

Диапазон с параметрами start и stop

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

Диапазон со всеми указанными параметрами

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

Диапазон со всеми параметрами, где параметр stop не делится на параметр step

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

Диапазон со всеми параметрами, где параметры stop и step отрицательные

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

Два примера, где параметр stop установлен в 0

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

Связанные ссылки