Что делает функция `range()`?

Функция range() в Python создает последовательность чисел. Она обычно используется для итерации в циклах for. Может принимать один, два или три аргумента:
  • range(stop): от 0 до stop (не включая stop) с шагом 1.
  • range(start, stop): от start до stop (не включая stop) с шагом 1.
  • range(start, stop, step): от start до stop (не включая stop) с шагом step.
Важно: range() возвращает объект "range", а не список. Для получения списка можно использовать list(range(...)).

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