Функция
range()
в Python – это встроенная функция, которая создает последовательность чисел. Эта последовательность может быть использована для итерации, например, в циклах
for
.
Основные варианты использования:
range(stop)
: Создает последовательность целых чисел, начинающуюся с 0 и заканчивающуюся stop - 1
. stop
должен быть целым числом. Например, range(5)
создаст последовательность 0, 1, 2, 3, 4.
range(start, stop)
: Создает последовательность целых чисел, начинающуюся с start
и заканчивающуюся stop - 1
. start
и stop
должны быть целыми числами. Например, range(2, 7)
создаст последовательность 2, 3, 4, 5, 6.
range(start, stop, step)
: Создает последовательность целых чисел, начинающуюся с start
, заканчивающуюся (не включая) stop
, и увеличивающуюся на step
на каждом шаге. start
, stop
и step
должны быть целыми числами. step
может быть отрицательным. Например, range(1, 10, 2)
создаст последовательность 1, 3, 5, 7, 9, а range(10, 1, -2)
создаст последовательность 10, 8, 6, 4, 2.
Важные моменты:
range()
возвращает *не* список, а объект типа range
, который является итерируемым. Это означает, что элементы последовательности генерируются по запросу, а не хранятся все сразу в памяти. Это делает range()
очень эффективной для работы с большими последовательностями чисел.
- Чтобы получить список из
range()
, нужно преобразовать его с помощью list()
, например: list(range(5))
вернет [0, 1, 2, 3, 4]
.
- Аргументы
start
, stop
и step
должны быть целыми числами. Если используются другие типы, будет вызвана ошибка TypeError
.
- Если
step
равно 0, будет вызвана ошибка ValueError
.
- Если
start
больше или равно stop
и step
положительное, то range()
вернет пустую последовательность.
- Если
start
меньше или равно stop
и step
отрицательное, то range()
вернет пустую последовательность.
Пример использования в цикле for
:
for i in range(5):
print(i) # Выведет: 0 1 2 3 4
for i in range(2, 10, 2):
print(i) # Выведет: 2 4 6 8