Условные конструкции используют условные выражения и в зависимости от их значения направляют выполнение программы по одному из путей. Одна из таких конструкций - это конструкция if. Она имеет следующее формальное определение:
if логическое_выражение:
инструкции
[elif логическое выражение:
инструкции]
[else:
инструкции]
В самом простом виде после ключевого слова if идет логическое выражение. И если это логическое выражение возвращает True, то выполняется последующий блок инструкций, каждая из которых должна начинаться с новой строки и должна иметь отступы от начала выражения if
(отступ желательно делать в 4 пробела или то количество пробелов, которое кратно 4):
language = "english"
if language == "english":
print("Hello")
print("End")
Поскольку в данном случае значение переменной language равно "english", то будет выполняться блок if, который содержит только одну инструкцию - print("Hello")
. В итоге консоль выведет следующие строки:
Обратите внимание в коде на последнюю строку, которая выводит сообщение "End". Она не имеет отступов от начала строки, поэтому она не принадлежит к блоку if и будет выполняться в любом случае, даже если выражение в конструкции if возвратит False.
Но если бы мы поставили бы отступы, то она также принадлежала бы к конструкции if:
language = "english"
if language == "english":
print("Hello")
print("End")
Если вдруг нам надо определить альтернативное решение на тот случай, если выражение в if возвратит False, то мы можем использовать блок else:
language = "russian"
if language == "english":
print("Hello")
else:
print("Привет")
print("End")
Если выражение language == "english"
возвращает True, то выполняется блок if, иначе выполняется блок else. И поскольку в данном случае условие language == "english"
возвращает False, то будут выполняться инструкция из блока else
.
Причем инструкции блока else также должны имеет отступы от начала строки. Например, в примере выше print("End")
не имеет отступа, поэтому она не входит в блок else
и будет выполняться вне зависимости, чему равно условие language == "english"
. То есть консоль нам выведет следующие строки:
Блок else также может иметь несколько инструкций, которые должны иметь отступ от начала строки:
language = "russian"
if language == "english":
print("Hello")
print("World")
else:
print("Привет")
print("мир")