continue в Python
Введение | |
Пример | |
Последний шаг | |
Похожие статьи |
Введение
Из официальной документации известно, что continue можно испльзовать как в for … in так и в while циклах, где он переводит цикл в следующую итерацию.
7.10. The continue statement continue_stmt ::= "continue" continue may only occur syntactically nested in a for or while loop, but not nested in a function or class definition within that loop. It continues with the next cycle of the nearest enclosing loop. When continue passes control out of a try statement with a finally clause, that finally clause is executed before really starting the next loop cycle.
Пример
Рассмотрим файл ex.py
for i in range(5): if i == 3: continue print(i)
python ex.py
0 1 2 4
Если i равно 3, срабатывает continue, который переносит нас в следующий шаг цикла и до print дело уже не доходит
В следующем примере из официальной документации Python делается акцент на том, что continue - это способ пропусить всё что находится ниже какого-то условия и перейти сразу к следующей итерации.
for num in range(2, 10): if num % 2 == 0: print("Found an even number", num) continue print("Found an odd number", num)
python odd_even.py
Found an even number 2 Found an odd number 3 Found an even number 4 Found an odd number 5 Found an even number 6 Found an odd number 7 Found an even number 8 Found an odd number 9
Каждый раз когда условие срабатывает мы перемещаемся в следующий шаг и не проваливаемся до последнего print. Если условие не срабатывает мы не доходим до continue и проваливаеся к последнему print
Последний шаг
Из примера с
чётыми и нечётными числами
поведение continue должно стать понятным, теме не менее
обратим особое внимание на последний шаг циклов с continue.
Вернёмся к
первому примеру
, но теперь == заменим на !=
for i in range(5): if i != 4: continue print(i)
python ex.py
4
print сработал только когда i было равно 4. В остальных случаях мы прыгали в следующий шаг цикла
Что будет если условие из if не сработает ни разу
for i in range(5): if i != 9: continue print(i)
python ex.py
Если ни одно из чисел не подошло последний continue переносит нас в конец цикла и до print дело по-прежнему не доходит.
Чтобы получить последнее значение i нужно выполнить print за телом цикла
for i in range(5): if i != 9: continue print(i) print(i)
python ex.py
4
Автор статьи: Андрей Олегович
Python | |
Циклы | |
Цикл for in | |
Collections |
РЕКЛАМА от Яндекса. Может быть недоступна в вашем регионе
Конец рекламы. Если там пусто считайте это рекламой моей телеги