23.06.2025

Как работать с if в Python или условные конструкции?

При написании программы, практически всегда возникает потребность создать создать разветвленный алгоритм с несколькими вариантами условия. К примеру, для пользователей с разными языковыми предпочтениями использовать разные языковые пакеты или режим конфигурации ПО. В данном материале рассмотрим одну из самых часто используемых и простых конструкций Python3 – if!

Что такое условная конструкция if в Python?

Как упоминалось выше, алгоритмы часто бывают разветвленными и для реализации различных сценариев работы используют специальные конструкции языка:

Скриншот №1 — Структура

Логика такова, если [условие-1] верное, то выполнить [инструкцию-1]. Иначе (первое ложь) если [условие-2] верное, то выполнить [инструкцию-2], иначе (все выше неверное) выполнить [инструкцию-3]. Обратите внимание, что отступы или же табуляция определяют будет относиться следующая строка инструкции к конструкции или будет отдельна от нее. Рассмотрим самый простой пример использования:

max=12
min=1
if max>5 and min<2:
print(max+min)
print ('end')

Скриншот №2 — Одиночная конструкция

В заранее определены переменные min, max и прописано условие, что если max больше 5, а min меньше 2, то выполнить инструкцию print (max+min). Инструкция, которая будет выполняться, при верном условии отделяется отступами, как print(max+min) в данном примере. Результат работы программы будет выглядеть следующим образом:

13
end

А если были бы заданны переменные не удовлетворяющие условию, то условная конструкция if не выполнила бы инструкции входящие в нее. И вывод бы выглядел так:

end

Для составления условия используется следующий синтаксис:

Каждое из представленных выражений содержит операнды [value-1] и [value-2], а так же оператор между ними, связанность может обеспечиваться дополнительными значениями or и and.  А что если, при неверном условии необходимо выполнить действие? Для этого существует блок else!

Else блок

Логика предыдущего синтаксиса предусматривала проверку данных и выполнения соответственных действий, в случае если значение равнялось True. Но если необходимо внести разветвленность с действием, при не выполненном условии, то используем else:

max=12
min=1
if max>5 and min<2:
print(max+min)
else:
print('Values din\'t calculate')
print ("end")

Скриншот №3 — Блок else

В данном примере инструкция, так же проверяет условие, однако, в случае если оно не будет выполнено, то управление перейдет на блок else и на экран пользователя будет выведен текст:

Values didn't calculate
end

Если команда конструкции представляет собой одну строку, то приемлемо использование следующего синтаксиса if max>5 and min<2: print(max+min):

max=12
min=1
if max>5 and min<2: print(max+min)
else: print('Values din\'t calculate')
print ("end")

Скриншот №4 — Новый формат инструкций

Обычно подобные конструкты используют для уведомления пользователей о действиях или изменении логики работы алгоритма. Но если требуется проверка еще одного условия, то для такого существует elif.

Все действия были выполнены в среде облачного сервера от Serverspace, для этого перейдем к созданию сервера, на любой из двух платформ vStack cloud или же VMware cloud. Нажмем на кнопку Создать сервер и выберем конфигурацию, подходящую под наши задачи, затем нажмем кнопку Создать:

Скриншот №5 — Создание сервера

Elif блок

Смысл работы данного блока заключается в выполнении проверки нового логического условия, если if [условие] оказалось False. К пр меру, данный блок может быть полезен, при выборе из двух путей:

language = "fr"
if language == 'en':
print ("Good evening!")
elif language == 'fr':
print ("Bonsoir!")
else: print ("Language udefined")

Скриншот №6 — Новое условие

Если пользователь выбрал опцию en, то выполнится стандартное условие. А если fr, то управление перейдет блоку elif и выполнится команда ниже. Однако, если ни одно из условий не выполнено, то управление перейдет блоку else. Результатом работы инструкции представленной выше будет вывод:

Bonsoir!

Обратите внимание, что для такого типа конструкции приемлемо до 2 ответвлений алгоритма. К примеру, если языков больше или равно трем, то лучше использовать конструкцию switch case, которая оптимальна для работы.  Но, что если в логике алгоритма необходимо использовать зависящие друг от друга условия? Есть возможность сделать их вложенными!

Вложенные if конструкции

Для более сложных сценариев можно использовать вложенные конструкции, работают они так же как и обычные выполняя блок вложенных инструкций в них. Рассмотрим на примере:

language = "en"
mode = "child"

if language == 'en':
if mode == "child":
print ("Hi, welcome to child mode!")
else: print ("Hi, welcome to adult mode!")
elif language == 'fr':
if mode == "child":
print ("Bonjour, bienvenue en mode enfant!")
else: print ("Bonjour, bienvenue en mode adulte!")

Скриншот №7 — Вложенные условия

Данная инструкция в зависимости от языка, который выбран пользователя и режима, в котором он находится выводит соответствующее приветствие. Обратите внимание, что отступы у вложенных условий, так же сохраняются! Выводом данной инструкции будет:

Hi, welcome to child mode!

Так как условия для данного пути совпали, однако, вложенность желательно использовать так же для двух или трех ответвлений. В остальных случаях подойдет switch case!

Знание и умение правильно применять условные операторы является фундаментальной частью навыков программирования. Они обеспечивают возможность создания более интерактивных и адаптивных приложений, способных реагировать на различные вводные данные и условия работы. Независимо от сложности задачи, условные конструкции помогут вам реализовать нужную логику и сделать ваш код более читаемым и поддерживаемым.