Для того, чтобы управлять логикой и ходом выполнения Вашего скрипта на Python, можно использовать условный оператор if. Если Вы уже знакомы с другими языками программирования, то наверняка понимаете, как он работает. Если не знакомы, тоже не страшно, сейчас мы посмотрим на несколько примеров использования, и всё станет сразу понятно.
Итак, оператор if в Python используется для проверки истинности какого-либо условия (или, как говорят разработчики, предиката). Если Вы хотите, к примеру, проверить текущее значение какой-то переменной в Вашем Python-скрипте и сравнить его с другой переменной или константой того же типа, то здесь поможет оператор if.
Посмотрим небольшой пример, в котором мы запрашиваем у пользователя ввод числа с клавиатуры и сохраняем его в переменную с именем x:
if __name__ == '__main__':
x = int(input("Пожалуйста, введите число: "))
if x < 0:
print("Вы ввели отрицательное число")
elif x == 0:
print("Вы ввели 0")
elif x > 0:
print("Вы ввели положительное число")
Если мы запустим наш скрипт в среде разработки PyCharm, то увидим приглашение на ввод данных:
Пожалуйста, введите число:
Дальше, в зависимости от того, что именно Вы введёте с клавиатуры (после завершения ввода нужно нажать клавишу <Enter>), сработает одно из условий:
- основное условие оператора if сработает, если Вы ввели отрицательное число
- первая ветка elif сработает, если Вы ввели с клавиатуры 0
- вторая ветка elif сработает, если Вы ввели положительное число
В моём случае в приглашении ввода я ввёл цифру 5, и ниже представлен результат работы скрипта в консоли PyCharm:
Пожалуйста, введите число: 5
Вы ввели положительное число
Как видим, в моём случае мы попадаем во вторую ветку elif, которая и вывела на экран консоли строку "Вы ввели положительное число".
Обратите внимание, что в Python нужно использовать отступы с помощью табуляции и после основного условия предиката (т.е. там где мы сравниваем x < 0, x == 0, x > 0) нужно ставить символ двоеточия.
Операторов elif может быть как несколько для основного оператора if, так и не быть вообще. Т.е. Вы можете не указывать elif, если логикой Вашей программы не предусмотрены какие-то другие условия.
Рассмотрим ещё один пример оператора if, в котором есть только ветка else и нет ни одной ветки elif:
if __name__ == '__main__':
x = int(input("Пожалуйста, введите число: "))
if x * 2 > 50:
print("Результат умножения введённого числа на 2 больше 50!")
else:
print("Результат умножения введённого числа на 2 меньше 50!")
Как и предыдущий пример, скрипт преобразует введённую с клавиатуры строку к целому типу с помощью встроенной функции int().
Далее число умножается на 2 и этот результат сравнивается с числом 50. Если результат больше 50, то выведется соответствующее сообщение, в противном случае логика выполнения уйдет в ветку else и также выведет сообщение о том, что результат умножения введённого числа на 2 меньше 50.
Вы можете использовать сколь угодно много развилок elif для оператора if, но развилка else всегда только одна. В ветку else мы попадём в том и только в том случае, когда не выполнено условие if и все условия для развилок elif (если они присутствуют).
Напоследок ещё один пример, где есть все части оператора if - сам оператор if, пара веток elif и ветка else:
if __name__ == '__main__':
x = int(input("Пожалуйста, введите число: "))
if x * 2 > 50:
print("Результат умножения введённого числа на 2 больше 50!")
elif 0 <= x * 2 <= 50:
print("Результат умножения введённого числа на 2 больше нуля и меньше или равен 50!")
else:
print("Результат умножения введённого числа на меньше нуля!")
Как видим, в данном примере мы используем и ветку elif, и ветку else. Обратите внимание, как удобно Python умеет сравнивать нахождение какого-то значения в диапазоне: 0 <= x * 2 <= 50. За счёт такой конструкции мы умножаем введённое с клавиатуры число, хранящееся в переменной x, на 2 и проверяем условие, что этот результат больше или равен нуля и одновременно меньше или равен 50.
Как видите, оператор if очень просто и лаконично записывается на языке Python и помогает сравнивать различные условия в Ваших Python-скриптах, выполняя то или иное действие, в зависимости от значений его предикатов.
Надеюсь, этот короткий урок будет полезен для всех изучающих Python.
Примеры из этой статьи: https://github.com/AllineedRu/PythonExamples/blob/main/ain_if_statement/__init__.py