Принятие решений является одной из самых фундаментальных концепций компьютерного программирования. Python поддерживает общие операторы управления потоком, встречающиеся в других языках, с некоторыми изменениями. Заявление if управления является одним из самых основных и хорошо известных утверждений, которые используются для выполнения кода на основе конкретных условий.
В этой статье мы рассмотрим основы утверждения if в Python.
Самая основная форма утверждения if в Python выглядит следующим образом:
if EXPRESSION: STATEMENT
Заявление if начинается с ключевого слова if, за которым следует условное выражение.
За EXPRESSION должно следовать двоеточие : . Если EXPRESSION имеет значение True, то STATEMENT запускается на выполнение. Если EXPRESSION возвращает False, ничего не происходит, игнорируется STATEMENT. STATEMENT может быть любым утверждением, включая множественные утверждения или дополнительные вложенные утверждения if. Чтобы не выполнять операторы, используйте оператор pass.
Блок STATEMENT начинается с углублением и концами с первой линией отступа. Большинство людей предпочитают использовать отступы с 4 или 2 пробелами. Официальное руководство по стилю для кода Python рекомендует использовать 4 пробела на уровень отступа и избегать смешивания использования табуляции и пробелов для отступа.
Давайте рассмотрим следующий пример сценария, который проверяет, больше ли заданное число больше 5.
number = int(input('Введите число: ')) if number > 5: print(number, ' больше 5.')
Сохраните код в файле и запустите его из командной строки:
python test.py
Скрипт предложит вам ввести номер. Например, если вы введете 10, условное выражение оценивается как True(10 больше 5), будет выполнена функция print.
10 больше 5.
Python поддерживает стандартные операции сравнения:
Вы также можете использовать ключевое слово in, чтобы проверить, присутствует ли значение (строка, список, кортеж, словарь и т. д.):
s = 'andreyex' if 'ey' in s: print('True.')
Вот еще один пример использования словаря:
d = {'a': 2, 'b': 4} if 'a' in d: print('True.')
При использовании в словаре ключевое слово in проверяет, имеет ли словарь определенный ключ.
Чтобы отменить условное выражение, используйте логический оператор not:
number = int(input('Ввести число: ')) if not number < 5: print(number, ' меньше 5.')
Оператор if..else вычисляет условие и выполняет один из двух операторов в зависимости от результата.
Оператор if..else в Python принимает следующую форму:
if EXPRESSION: STATEMENT1 else: STATEMENT2
Если EXPRESSION возвращает True, STATEMENT1 будет выполнено. В противном случае, если EXPRESSION возвращает False, будет выполнен STATEMENT2. Вы можете иметь только одно предложение else в заявлении.
Ключевое слово else должно заканчиваться двоеточием : и быть на тот же уровне отступа, что и соответствующее ключевое слово if.
Давайте добавим предложение else в предыдущий пример сценария:
number = int(input('Ввести число: ')) if number > 5: print(number, ' больше 5.') else: print(number, ' равно или меньше 5.')
Если вы запустите код и введете число, сценарий напечатает другое сообщение в зависимости от того, больше или меньше число или равно 5.
Ключевое слово elif является аббревиатурой else if.
Оператор if..elif..else в Python принимает следующую форму:
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('Ввести число: ')) if number > 5: print(number, ' больше чем 5.') elif number < 5: print(number, ' меньше 5.') else: print(number, ' равно 5.')
В отличие от большинства языков программирования, Python не имеет операторов switchили case. Последовательность нескольких elifоператоров может использоваться в качестве замены switch или case.
Python позволяет вам вкладывать оператор if в оператор if. Как правило, вы всегда должны избегать чрезмерного отступа и пытаться использовать elif вместо вложенных операторов if.
Следующий скрипт предложит вам ввести три числа и напечатает наибольшее число среди чисел.
number1 = int(input('Введите первое число: ')) number2 = int(input('Введите второе число: ')) number3 = int(input('Введите третье число: ')) if number1 > number2: if number1 > number3: print(number1, 'это самое большое число.') else: print(number3, 'это самое большое число.') else: if number2 > number3: print(number2, 'это самое большое число.') else: print(number3, 'это самое большое число.')
Вот как будет выглядеть вывод:
Введите первое число: 455 Введите второе число: 567 Введите третье число: 354 567 это самое большое число.
Логические orи andоператоры позволяют комбинировать несколько условий в выражениях if.
Вот еще одна версия скрипта для печати наибольшего числа среди трех чисел. В этой версии вместо вложенных операторов if мы будем использовать логический andоператор и elif.
number1 = int(input('Введите первое число: ')) number2 = int(input('Введите второе число: ')) number3 = int(input('Введите третье число: ')) if number1 > number2 and number1 > number3: print(number1, 'это самое большое число.') elif number2 > number3 and number2 > number3: print(number2, 'это самое большое число.') else: print(number3, 'это самое большое число.')
Заявления if, if..else и if..elif..else позволяют контролировать поток выполнения Python, оценивая данные условия.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.