Принятие решений — одна из самых фундаментальных концепций компьютерного программирования. 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, оценивая заданные условия.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.