Принятие решений — одна из самых фундаментальных концепций компьютерного программирования. Python поддерживает стандартные операторы управления потоком, имеющиеся в других языках, с некоторыми изменениями. Оператор управления if является одним из самых основных и хорошо известных операторов, который используется для выполнения кода на основе определенного условия.
В этой статье мы рассмотрим основы оператора if в Python.
Содержание
Оператор if в Python
Самая простая форма оператора if в Python выглядит следующим образом:
if EXPRESSION:
STATEMENT
Оператор if начинается с ключевого слова if за которым следует условное выражение.
EXPRESSION должно сопровождаться ( : ) толстой кишки. Если EXPRESSION оценивается как True , выполняется STATEMENT . Если EXPRESSION возвращает False , ничего не происходит, STATEMENT игнорируется. STATEMENT может быть любым оператором, включая несколько операторов или дополнительных вложенных операторов if . Чтобы не выполнять никаких инструкций, используйте инструкцию pass .
STATEMENT блок начинается с углублением и концами с первой линией отступа. Большинство людей предпочитают использовать отступы с четырьмя или двумя пробелами. Официальное руководство по стилю для кода Python рекомендует использовать 4 пробела для каждого уровня отступа и избегать смешивания использования табуляции и пробелов для отступа.
Давайте посмотрим на следующий пример скрипта, который проверяет, больше ли заданное число 5.
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
Сохраните код в файл и запустите его из командной строки:
python test.py
Скрипт предложит вам ввести номер. Например, если вы введете 10, условное выражение будет иметь значение True (10 больше 5), и функция print будет выполнена.
10 is greater than 5.
Python поддерживает стандартные операции сравнения:
a == b— Истинно, еслиaиbравны.a != b— Верно, еслиaиbне равны.a > b— Истинно, еслиaбольшеb.a >= b— Истинно, еслиaравно или большеb.a < b— Истинно, еслиaменьшеb.a <= b— Истинно, еслиaравно или меньшеb.
Вы также можете использовать ключевое слово in чтобы проверить, присутствует ли значение в итерации (строка, список, кортеж, словарь и т. Д.):
s = 'linuxize'
if 'ze' in s:
print('True.')
Вот еще один пример использования словаря:
d = {'a': 2, 'b': 4}
if 'a' in d:
print('True.')
При использовании в словаре ключевое слово in проверяет, есть ли в словаре определенный ключ.
Чтобы отрицать условное выражение, используйте логический оператор not :
number = int(input('Enter a number: '))
if not number < 5:
print(number, 'is greater than 5.')
Оператор if else в Python
if..else оценивает условие и выполняет одно из двух операторов в зависимости от результата.
Оператор Python if..else принимает следующую форму:
if EXPRESSION:
STATEMENT1
else:
STATEMENT2
Если EXPRESSION оценивается как True , STATEMENT1 будет выполнен. В противном случае, если EXPRESSION возвращает значение False , то STATEMENT2 будет выполнена. В заявлении может быть только одно предложение else .
else ключевое слово должно заканчиваться ( : ) толстой кишки и быть на том же уровне отступа , как соответствующие , if ключевое слово.
Давайте добавим предложение else в предыдущий пример сценария:
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
else:
print(number, 'is equal or less than 5.')
Если вы запустите код и введете число, сценарий напечатает другое сообщение в зависимости от того, больше ли число / равно 5.
Оператор if elif else
Ключевое слово elif является сокращением от else if .
Оператор Python if..elif..else принимает следующую форму:
if EXPRESSION1:
STATEMENT1
elif: EXPRESSION2:
STATEMENT2
else:
STATEMENT3
Если EXPRESSION1 оценивается как True , STATEMENTS1 будет выполнен. Если EXPRESSION2 оценивается как True , STATEMENTS2 будет выполнен. Если ни одно из выражений не имеет значения True , выполняется STATEMENTS3 .
elif ключевое слово должно заканчиваться ( : ) толстой кишки и быть на том же уровне отступа , как соответствующие , if ключевое слово. В операторе может быть одно или несколько предложений elif . Предложение else является обязательным. Если предложение else не используется и все выражения имеют значение False , ни один из операторов не будет выполнен.
Условия оцениваются последовательно. Как только условие возвращает True , остальные условия не выполняются, и управление программой перемещается в конец операторов if .
Добавим в предыдущий скрипт предложение elif :
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
elif number < 5:
print(number, 'is less than 5.')
else:
print(number, 'is equal to 5.')
В отличие от большинства языков программирования, в Python нет операторов switch или case . Последовательность из нескольких операторов elif может использоваться вместо switch или case .
Вложенные операторы if
Python позволяет гнездиться if заявления в if заявления. Как правило, всегда следует избегать чрезмерных отступов и пытаться использовать elif вместо вложенных операторов if
Следующий сценарий предложит вам ввести три числа и напечатает наибольшее число среди чисел.
number1 = int(input('Enter the first number: '))
number2 = int(input('Enter the second number: '))
number3 = int(input('Enter the third number: '))
if number1 > number2:
if number1 > number3:
print(number1, 'is the largest number.')
else:
print(number3, 'is the largest number.')
else:
if number2 > number3:
print(number2, 'is the largest number.')
else:
print(number3, 'is the largest number.')
Вот как будет выглядеть результат:
Enter the first number: 455
Enter the second number: 567
Enter the third number: 354
567 is the largest number.
Несколько условий
Логические операторы or и and позволяют комбинировать несколько условий в операторах if .
Вот еще одна версия скрипта для печати наибольшего числа из трех. В этой версии, а вложенные if заявления, мы будем использовать логические and оператор и elif .
number1 = int(input('Enter the first number: '))
number2 = int(input('Enter the second number: '))
number3 = int(input('Enter the third number: '))
if number1 > number2 and number1 > number3:
print(number1, 'is the largest number.')
elif number2 > number3 and number2 > number3:
print(number2, 'is the largest number.')
else:
print(number3, 'is the largest number.')
Выводы
Операторы if , if..else и if..elif..else позволяют управлять потоком выполнения Python, оценивая заданные условия.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.