Прелесть таланта в том, что он делает то, чего я не могу (Светлов).

Диапазон в Python

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
29 февраля 2020
Как удалить файлы и каталоги в Python
Тип range в Python генерирует последовательность целых чисел, определяя начальную и конечную точку диапазона. Обычно используется с циклом for в Python для итерации по последовательности чисел.

range() работает по-разному в Python 2 и 3.

В Python 2 есть две функции, которые позволяют генерировать последовательность целых чисел, rangeи xrange. Эти функции очень похожи, главное отличие в том, что range возвращает список и xrange возвращает объект xrange.

В Python 3 функция xrange была удалена, а функция range ведет себя подобно xrange в Python 2. range в Python 3 – это не функция, а тип, представляющий неизменяемую последовательность чисел.

В этой статье мы рассмотрим основы типа range в Python 3.

 

Синтаксис range() в Python

range принимает следующие формы:

range(stop)
range(start, stop[, step])

Аргументы, предоставляемые range, должны быть целыми числами. Плавающие числа и другие типы не допускаются.

range принимает один обязательный и два необязательных аргумента. Он возвращает объект диапазона, который представляет данный диапазон, и генерирует числа по запросу.

 

range(stop) в Python

Когда предоставлен только один аргумент, range возвращает последовательность чисел, увеличивается на 1, начиная с 0 и заканчивая – 1.

Вот тип диапазона в действии:

for i in range(5):
    print(i)

 

Сгенерированная последовательность чисел начинается с 0 и заканчивается на 4 (5-1):

0
1
2
3
4

 

Если аргумент равен 0 или отрицательное целое число, range возвращает пустую последовательность:

print(list(range(-5)))

 

Мы конвертируем объект range в список, потому что range выполняет ленивую оценку целочисленной последовательности. На выходе получается пустой список:

[]

 

range(start, stop) в Python

Когда предусмотрены два аргумента, range возвращает последовательность чисел, увеличивается на 1, начиная с start к stop – 1.

Вот пример:

for i in range(3, 5):
    print(i)

 

3
4

 

Аргумент stop должен быть больше start. В противном случае последовательность будет пуста:

print(list(range(5, 3)))

 

[]

 

Вы можете использовать положительные и отрицательные целые числа в качестве аргументов:

print(list(range(-5, -3)))

 

[-5, -4]

 

print(list(range(-3, 0)))

 

[-3, -2, -1]

 

range(start, stop, step) в Python

Когда задано три аргумента, range возвращает последовательность чисел, увеличиваются или уменьшаются на step, начиная с start к stop – 1.

Если step положительный, range возвращает последовательность, которая увеличивается:

for i in range(0, 26, 5):
    print(i)

 

0
5
10
15
20
25

 

При увеличении аргумента stop должен быть больше чем start. В противном случае последовательность пуста.

Если step отрицательный, то range возвращает последовательность, которая уменьшается:

for i in range(20, 4, -5):
    print(i)

 

20
15
10
5

 

При уменьшении аргумента stop должен быть меньше чем start. В противном случае последовательность пуста.

Если step равно 0, вызывается исключение ValueError:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: range() arg 3 must not be zero

 

Вывод

Тип range в Python позволяет генерировать последовательность целых чисел. В основном используется в циклах for в Python.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close