Условия и условное исполнение
Вы уже знаете, как задавать вопросы Python, но все ещё не знаете, как разумно использовать ответы. У вас должен быть механизм, который позволит вам делать что-то, если условие выполняется, и не делать этого, если оно не выполняется.
Это как в реальной жизни: вы делаете определенные вещи или не делаете, когда выполняется определенное условие или нет, например, вы идете гулять, если погода хорошая, или остаетесь дома, если холодно и сыро.
Для принятия таких решений 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()