- №13 Условные выражения и конструкция if / Уроки по Python для начинающих
- Отступы
- elif
- else
- Короткая запись If
- Короткая запись If … Else
- Пример
- And
- Or
- Как использовать операторы AND, OR и NOT в IF в Python
- Пример 1: с оператором If
- Пример 2: с оператором If-Else
- Пример 3: с оператором elif
- Оператор OR
- Пример 1: с оператором If
- Пример 2: с оператором If-Else
- Пример 3: с оператором elif
- Оператор NOT
- Синтаксис
- Пример 4
- Пример 5: для печати строки
- Пример 6: для печати списка
- Пример 7: для печати словаря
- Пример 8: для печати набора
- Пример 9: для печати кортежа
№13 Условные выражения и конструкция if / Уроки по Python для начинающих
Эти условные могут быть использованы несколькими способами, чаще всего в выражениях if и циклах. if записывается с использованием ключевого слова if .
a = 33 b = 200 if b > a: print("b больше, чем a")
В этом примере мы используем две переменных, a и b , которые используются как часть оператора if чтобы убедиться, что b больше чем a . Учитывая, что a — 33, а b — 200, мы знаем что 200 больше чем 33, поэтому мы выводим на экран “b больше, чем a”.
Отступы
Python полагается на отступы пробелом, для определения частей кода. В других языках программирования часто используются фигурные скобки для этой цели.
Оператор if, без отступа (вызовет ошибку):
a = 33 b = 200 if b > a: print("b больше, чем a")
File "demo_indentation_test.py", line 2 print("b больше, чем a") ^ IndentationError: expected an indented block
elif
Ключевое слово elif — это способ Python сказать, что “если предыдущие условные были неверными, тогда попробуйте это условное”.
a = 33 b = 33 if b > a: print("b больше, чем a") elif a == b: print("a равно b")
В этом примере a равняется b , в связи с этим первое условие не будет верно, но условие elif — True, поэтому на экран мы выводим “a равно b”.
else
Ключевое слово else захватывает все, что не было захвачено предыдущими условиями.
a = 200 b = 33 if b > a: print("b больше, чем a") elif a == b: print("a и b равны") else: print("a больше, чем b")
В этом примере a больше чем b , и поэтому первое условие не будет true, так же как и условие elif не будет true, поэтому нам нужно перейти else и вывести на экран “a больше, чем b”.
Вы можете так же использовать else без elif :
a = 200 b = 33 if b > a: print("b больше, чем a") else: print("b меньше, чем a")
Короткая запись If
Если у вас есть только один оператор для выполнения, поместите его в ту же строку, что и оператор if.
Однострочная запись if:
if a > b: print("a больше, чем b")
Короткая запись If … Else
Если у вас есть только один оператор для выполнения, один для if и один для else , вы можете поместить их в одну строку:
Пример
Однострочный оператор if else:
print("A") if a > b else print("B")
Так же вы можете записать сразу несколько операторов else на одной строке:
print("A") if a > b else print(" token punctuation">) if a == b else print("B")
And
Ключевое слово and — логический оператор, который используется для объединения условных операторов:
Проверьте больше ли a нежели b , и больше ли c чем a :
if a > b and c > a: print("Оба условия True")
Or
Ключевое слово or — логический оператор, который используется для объединения условных операторов:
Проверьте больше a чем b , или больше ли a в сравнении с c :
if a > b or a > c: print("Одно из усовий True")
Как использовать операторы AND, OR и NOT в IF в Python
Вы можете объединить несколько условий в одно выражение в условных операторах в Python, таких как if, if-else и elif. Это позволяет избежать ненужного написания нескольких вложенных операторов if.
В следующих примерах мы увидим, как мы можем использовать логический оператор AND для формирования составного логического выражения.
Пример 1: с оператором If
В следующем примере мы узнаем, как использовать логический оператор and в операторе If, чтобы объединить два логических условия для формирования составного выражения.
Чтобы продемонстрировать преимущества команды and, мы сначала напишем вложенный оператор if, а затем простой оператор, где он реализует ту же функциональность, что и вложенный оператор.
a = 5 b = 2 #nested if if a==5: if b>0: print('a is 5 and',b,'is greater than zero.') #or you can combine the conditions as if a==5 and b>0: print('a is 5 and',b,'is greater than zero.')
Здесь наш вариант использования состоит в том, что мы должны напечатать сообщение, когда a равно 5, а b больше 0. Без использования команды and мы можем написать только if, чтобы запрограммировать функциональность. Когда мы использовали логический оператор и обычный мы могли сократить количество if до одного.
a is 5 and b is greater than zero. a is 5 and b is greater than zero.
Пример 2: с оператором If-Else
В следующем примере мы будем использовать оператор and для объединения двух основных условных выражений в логическое выражение оператора If-Else.
a = 3 b = 2 if a==5 and b>0: print('a is 5 and',b,'is greater than zero.') else: print('a is not 5 or',b,'is not greater than zero.')
a is not 5 or 2 is not greater than zero.
Пример 3: с оператором elif
В следующем примере мы будем использовать функцию and для объединения двух основных условных выражений в логическое выражение оператора elif.
Мы узнали, как использовать логический оператор and с условными операторами: if, if-else и elif с хорошо подробными примерами.
Оператор OR
Вы можете объединить несколько условий в одно выражение в операторах if, If-Else или Elif.
В следующих примерах мы увидим, как мы можем использовать OR для формирования составного логического выражения.
Логический оператор OR возвращает True, если один из двух предоставленных ему операндов имеет значение true.
Пример 1: с оператором If
В следующем примере мы узнаем, как использовать OR для соединения двух логических условий для формирования логического выражения.
today = 'Saturday' if today=='Sunday' or today=='Saturday': print('Today is off. Rest at home.')
Today is off. Rest at home.
Пример 2: с оператором If-Else
В следующем примере мы будем использовать оператор OR для объединения двух основных условных выражений в логическое выражение.
today = 'Wednesday' if today=='Sunday' or today=='Saturday': print('Today is off. Rest at home.') else: print('Go to work.')
Пример 3: с оператором elif
В следующем примере мы будем использовать OR для объединения двух основных условных выражений в логическое выражение операторов elif.
today = 'Sunday' if today=='Monday': print('Your weekend is over. Go to work.') elif today=='Sunday' or today=='Saturday': print('Today is off.') else: print('Go to work.')
Мы узнали, как использовать оператор OR логический оператор с условным оператором Python: if, if-else и elif с хорошо подробными примерами.
Оператор NOT
Мы можем использовать логический оператор not с условием IF. Операторы внутри блока if выполняются только в том случае, если значение (логическое) равно False или если значение (коллекция) не пусто.
Синтаксис
Где, значение может иметь тип boolean, string, list, dict, set и т.д.
Если значение имеет логический тип, NOT действует как оператор отрицания. Если значение равно False, значение not будет True, и операторы в блоке if будут выполняться. Если value равно True, not value будет False, и операторы в блоке if не будут выполняться.
Если значение имеет строковый тип, то операторы в блоке if будут выполняться, если строка пуста.
Если значение имеет тип list, тогда операторы в блоке if будут выполняться, если список пуст. Такое же объяснение справедливо для значений других типов данных коллекции: dict, set и tuple.
Таким образом, мы можем использовать if not expression для условного выполнения блока операторов, только если значение не пустое или не False.
Пример 4
В этом примере мы будем использовать нелогический оператор NOT в логическом выражении IF.
a = False if not a: print('a is false.')
Пример 5: для печати строки
В этом примере мы будем использовать if not expression для печати строки, только если строка не пуста.
string_1 = '' if not string_1: print('String is empty.') else: print(string_1)
Пример 6: для печати списка
В этом примере мы будем использовать if not expression для печати списка только в том случае, если список не пуст.
a = [] if not a: print('List is empty.') else: print(a)
Пример 7: для печати словаря
В этом примере мы будем использовать if not expression для печати словаря, только если словарь не пуст.
a = dict(<>) if not a: print('Dictionary is empty.') else: print(a)
Пример 8: для печати набора
В этом примере мы будем использовать if not expression для печати набора, только если набор не пуст.
a = set(<>) if not a: print('Set is empty.') else: print(a)
Пример 9: для печати кортежа
В этом примере мы будем использовать if not expression для печати кортежа, только если кортеж не пуст.
a = tuple() if not a: print('Tuple is empty.') else: print(a)
Мы научились использовать оператор not вместе с условным оператором if с помощью примеров программ.