Поясняет редакция «Кода»:
Здесь обыгрывается диалог Энакина Скайуокера и Падме Амидалы — героев фильма «Звёздные войны. Эпизод II: Атака клонов».
Подпись в первом кадре с Энакином означает: «Я написал цикл while(true)». На втором кадре Падме спрашивает: «С оператором прерывания, верно?» На следующем кадре Энакин загадочно улыбается, а на четвёртом мы видим, что предыдущие три начинают бесконечно повторяться. Это значит, что написанный цикл не имеет оператора прерывания, а потому бесконечен и выйти из него невозможно.
В программировании оператор break
— это конструкция, которая используется для немедленного прерывания выполняемого цикла, независимо от того, достиг цикл своего условия окончания или нет. Этот оператор применяют в различных типах циклов, таких как for
, while
и do-while
.
При выполнении программы код переводится в машинный код, который понимают компьютеры. Перевод выполняет интерпретатор или компилятор — специальная программа. Встретив оператор break
, интерпретатор или компилятор немедленно прекращает исполнение текущего цикла и передаёт управление инструкции, которая следует за циклом. Это позволяет выйти из цикла до его естественного завершения — например, если нужные данные были найдены или нет необходимости обрабатывать лишние данные.
Рассмотрим простой цикл:
# начинаем счётчик с нуля
counter = 0
# запускаем цикл while, который будет выполняться до бесконечности, если не прервать его с помощью break
while True:
print(counter)
counter += 1
# проверяем условие для выхода из цикла
if counter >= 5:
break
# когда цикл прерван, выполнение программы продолжится с этой строки
print("Цикл завершён")
В этом примере цикл будет выполняться до тех пор, пока не наступит условие выхода counter>=5
. Как только значение counter
достигнет 5, исполняется оператор break
. Это приведёт к прерыванию цикла и выходу из него, а на экран выведется строка «Цикл завершён». Ну или можно написать break в любом месте цикла — если нужно его завершить просто так :-)
Поскольку Энакин не задал условие прерывания цикла, его диалог с Падме никогда не завершится.