continue
оператор вызывает Python, чтобы пропустить остаток текущей итерации цикла и переход к началу следующей итерации.
См this documentation page для Python 3. Оригинальный пример на этой странице:
>>> for num in range(2, 10):
... if num % 2 == 0:
... print("Found an even number", num)
... continue
... print("Found a number", num)
Found an even number 2
Found a number 3
Found an even number 4
Found a number 5
Found an even number 6
Found a number 7
Found an even number 8
Found a number 9
Когда continue
встречается, то print
в конце цикла пропускается, и выполнение переходит к for
снова, чтобы получить следующая итерация. Обратите внимание, что для четных чисел напечатано «Найдено четное число», но «Найдено номер» - не. Это связано с тем, что continue
пропустил остальную часть тела петли.
Ваша модификация образца - вставив else
- делает continue
устаревшим, потому что print("Found a number", num)
не будет выполнена в любом случае (он сидит в else
) ветви.
Таким образом, вы обнаружили, что continue
(а также break
) часто являются альтернативным механизмом управления потоком до if...else
. Это зависит от ситуации и предпочтений стиля.
это просто заставляет код продолжать следующую итерацию цикла. на самом деле не требуется в вашем примере. –
Вы проверили документы Python? Вы найдете в деталях, что 'continue' делает –
https://docs.python.org/2/tutorial/controlflow.html#break-and-continue-statements-and-else-clauses-on-loops – Prune