Поскольку техническая часть получила довольно много ответов, мой комментарий как раз связан с путаницей , которая приводит к этому переработанному ключевому слову .
Будучи Python очень красноречивым языком программирования, злоупотребление ключевым словом более печально известно. Ключевое слово else
прекрасно описывает часть потока дерева решений: «если вы не можете этого сделать, (иначе) сделайте это». Это подразумевается на нашем родном языке.
Вместо этого использование этого ключевого слова с операторами while
и for
создает путаницу. Причина, по которой наша карьера программиста научила нас, что утверждение else
находится в дереве решений; его логическая область действия , оболочка, которая условно возвращает путь для подражания. Между тем, циклические операторы имеют явно выраженную цель достичь чего-то. Цель достигается после непрерывных итераций процесса.
if / else
указывает путь для следования . Петли следуют по пути, пока "цель" не будет достигнута .
Проблема в том, что else
- это слово, которое четко определяет последний параметр в условии. Семантика этого слова совместно используется Python и Human Language. Но другое слово в человеческом языке никогда не используется для обозначения действий, которые кто-то или что-либо предпримет после того, как что-то будет выполнено. Он будет использоваться, если в процессе его завершения возникнет проблема (больше похожая на инструкцию break ).
В конце ключевое слово останется в Python. Понятно, что это была ошибка, понятнее, когда каждый программист пытается придумать историю, чтобы понять ее использование как какое-то мнемоническое устройство. Я бы с удовольствием, если бы они выбрали вместо этого ключевое слово then
. Я считаю, что это ключевое слово идеально вписывается в этот итерационный поток, выплата после цикла.
Это напоминает ту ситуацию, в которой какой-то ребенок попадает после выполнения каждого шага сборки игрушки: И ТО Какой папа?