Функция
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