Встроенная функция Python range()
Вместо функции 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)