3.1.1.6 Условное выполнение: оператор if
Если некий бессонный разработчик Python засыпает, когда он или она насчитывает 120 овец, а процедура, вызывающая засыпание, может быть реализована в виде специальной функции с именем sleep_and_dream(), весь код принимает следующую форму:
if sheep_counter >= 120: # Оцените тестовое выражение
sleep_and_dream() # Выполнить, если проверочное выражение True
Вы можете прочитать это так: если sheep_counter больше или равно 120, тогда засыпайте и мечтайте (т.е. выполните функцию sleep_and_dream).
Мы сказали, что условно выполняемые операторы должны иметь отступ. Это создает очень четкую структуру, наглядно демонстрирующую все возможные пути выполнения в коде.
Взгляните на следующий код:
if sheep_counter >= 120:
make_a_bed()
take_a_shower()
sleep_and_dream()
feed_the_sheepdogs()
Как видите, застилание постели, принятие душа, засыпание и сновидения выполняются условно - когда sheep_counter достигает желаемого предела.
Однако кормление овчарок выполняется всегда (т.е. функция feed_the_sheepdogs() не имеет отступа и не принадлежит блоку if, что означает, что она всегда выполняется).
Теперь мы собираемся обсудить другой вариант условного оператора, который также позволяет выполнять дополнительное действие, когда условие не выполняется.
Условное выполнение: оператор if-else
Мы начали с простой фразы: «Если будет хорошая погода, мы пойдем гулять».
Обратите внимание - ни слова о том, что будет, если погода будет плохой. Мы знаем только то, что не выйдем на улицу, но неизвестно, что мы могли бы сделать вместо этого. Возможно, мы захотим что-то спланировать и на случай плохой погоды.
Можно сказать, например: если будет хорошая погода, пойдем гулять, иначе пойдем в театр.
Теперь мы знаем, что будем делать, если условия будут соблюдены, и знаем, что будем делать, если не все пойдет по-нашему. Другими словами, у нас есть «План Б».
Python позволяет нам выражать такие альтернативные планы. Это делается с помощью второй, немного более сложной формы условного оператора, оператора if-else:
if true_or_false_condition:
perform_if_condition_true
else:
perform_if_condition_false
Таким образом, появилось новое слово: else - это ключевое слово.
Часть кода, которая начинается с else, говорит, что делать, если условие, указанное для if, не выполняется (обратите внимание на двоеточие после слова).
Выполнение if-else происходит следующим образом:
if sheep_counter >= 120: # Оцените тестовое выражение
sleep_and_dream() # Выполнить, если проверочное выражение True
Вы можете прочитать это так: если sheep_counter больше или равно 120, тогда засыпайте и мечтайте (т.е. выполните функцию sleep_and_dream).
Мы сказали, что условно выполняемые операторы должны иметь отступ. Это создает очень четкую структуру, наглядно демонстрирующую все возможные пути выполнения в коде.
Взгляните на следующий код:
if sheep_counter >= 120:
make_a_bed()
take_a_shower()
sleep_and_dream()
feed_the_sheepdogs()
Как видите, застилание постели, принятие душа, засыпание и сновидения выполняются условно - когда sheep_counter достигает желаемого предела.
Однако кормление овчарок выполняется всегда (т.е. функция feed_the_sheepdogs() не имеет отступа и не принадлежит блоку if, что означает, что она всегда выполняется).
Теперь мы собираемся обсудить другой вариант условного оператора, который также позволяет выполнять дополнительное действие, когда условие не выполняется.
Условное выполнение: оператор if-else
Мы начали с простой фразы: «Если будет хорошая погода, мы пойдем гулять».
Обратите внимание - ни слова о том, что будет, если погода будет плохой. Мы знаем только то, что не выйдем на улицу, но неизвестно, что мы могли бы сделать вместо этого. Возможно, мы захотим что-то спланировать и на случай плохой погоды.
Можно сказать, например: если будет хорошая погода, пойдем гулять, иначе пойдем в театр.
Теперь мы знаем, что будем делать, если условия будут соблюдены, и знаем, что будем делать, если не все пойдет по-нашему. Другими словами, у нас есть «План Б».
Python позволяет нам выражать такие альтернативные планы. Это делается с помощью второй, немного более сложной формы условного оператора, оператора if-else:
if true_or_false_condition:
perform_if_condition_true
else:
perform_if_condition_false
Таким образом, появилось новое слово: else - это ключевое слово.
Часть кода, которая начинается с else, говорит, что делать, если условие, указанное для if, не выполняется (обратите внимание на двоеточие после слова).
Выполнение if-else происходит следующим образом:
- если условие оценивается как True (его значение не равно нулю), выполняется инструкция perform_if_condition_true, а условная инструкция подходит к концу;
- если условие оценивается как False (равно нулю), выполняется инструкция perform_if_condition_false, и условная инструкция заканчивается.