3.1.1.5 Условия и условное исполнение
Вы уже знаете, как задавать вопросы Python, но все еще не знаете, как разумно использовать ответы. У вас должен быть механизм, который позволит вам что-то делать, если условие выполняется, и не делать этого, если это не так.
Это как в реальной жизни: вы делаете определенные вещи или не делаете, когда выполняется определенное условие или нет, например, вы идете гулять, если погода хорошая, или остаетесь дома, если мокро и холодно.
Для принятия таких решений Python предлагает специальную инструкцию. Из-за своей природы и применения она называется условной инструкцией (или условным оператором).
Есть несколько вариантов. Мы начнем с самого простого, постепенно увеличивая сложность.
Первая форма условного оператора, которую вы можете увидеть ниже, написана очень неформально, но образно:
if true_or_not:
do_this_if_true
Этот условный оператор состоит из следующих строго необходимых элементов только в этом и этом порядке:
если будет хорошая погода, пойдем гулять
тогда мы пообедаем
Как видите, обед - это не условное занятие и не зависит от погоды.
Зная, какие условия влияют на наше поведение, и предполагая, что у нас есть функции без параметров go_for_a_walk() и have_lunch(), мы можем написать следующий фрагмент:
if the_weather_is_good:
go_for_a_walk()
have_lunch()
Это как в реальной жизни: вы делаете определенные вещи или не делаете, когда выполняется определенное условие или нет, например, вы идете гулять, если погода хорошая, или остаетесь дома, если мокро и холодно.
Для принятия таких решений Python предлагает специальную инструкцию. Из-за своей природы и применения она называется условной инструкцией (или условным оператором).
Есть несколько вариантов. Мы начнем с самого простого, постепенно увеличивая сложность.
Первая форма условного оператора, которую вы можете увидеть ниже, написана очень неформально, но образно:
if true_or_not:
do_this_if_true
Этот условный оператор состоит из следующих строго необходимых элементов только в этом и этом порядке:
- ключевое слово if;
- одно или несколько пробелов;
- выражение (вопрос или ответ), значение которого будет интерпретироваться исключительно в терминах True (если его значение не равно нулю) и False (когда оно равно нулю);
- двоеточие, за которым следует новая строка;
- инструкция или набор инструкций с отступом (абсолютно необходима хотя бы одна инструкция); отступ может быть получен двумя способами - путем вставки определенного количества пробелов (рекомендуется использовать четыре пробела для отступа) или с помощью символа табуляции; примечание: если в части с отступом содержится более одной инструкции, отступ должен быть одинаковым во всех строках; хотя это может выглядеть одинаково, если вы используете табуляции, смешанные с пробелами, важно, чтобы все отступы были одинаковыми - Python 3 не позволяет смешивать пробелы и табуляции для отступов.
- Если выражение true_or_not представляет истину (т. е. его значение не равно нулю), будут выполнены операторы с отступом;
- если выражение true_or_not не соответствует истине (т.е. его значение равно нулю), оператор(ы) с отступом будет опущен (проигнорирован), и следующая выполняемая инструкция будет следующей после исходного уровня отступа.
если будет хорошая погода, пойдем гулять
тогда мы пообедаем
Как видите, обед - это не условное занятие и не зависит от погоды.
Зная, какие условия влияют на наше поведение, и предполагая, что у нас есть функции без параметров go_for_a_walk() и have_lunch(), мы можем написать следующий фрагмент:
if the_weather_is_good:
go_for_a_walk()
have_lunch()