Какой тип возвращает `range()`?

Функция range() в Python 3 возвращает объект типа range, который является итерируемым типом, представляющим последовательность чисел.

Функция range() в Python не возвращает список или кортеж напрямую. Она возвращает объект типа range.

range - это ленивая последовательность чисел. Это означает, что числа не генерируются и не хранятся в памяти все сразу. Вместо этого, они вычисляются по требованию (on-demand) когда к ним обращаются (например, в цикле for или при обращении по индексу).

Преимущества использования range:

  • Экономия памяти: Особенно полезна для больших диапазонов чисел, так как не нужно хранить все числа в памяти.
  • Эффективность: Числа генерируются только при необходимости, что может улучшить производительность.

Пример:


my_range = range(10)
print(type(my_range))  # Выведет: <class 'range'>

# Чтобы получить список чисел из range, можно использовать list():
my_list = list(my_range)
print(my_list)       # Выведет: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  
0