№13 Условные выражения и конструкция if / Уроки по Python для начинающих

11752

Предыдущий урок: Словарь (dict)

Python поддерживает обычные логические выражения:

  • Равно: a == b
  • Не равно: a != b
  • Меньше чем: a < b
  • Меньше чем или равно: a <= b
  • Больше чем: a > b
  • Больше чем или равно: a >= b

Эти условные могут быть использованы несколькими способами, чаще всего в выражениях if и циклах. if записывается с использованием ключевого слова if.

a = 33  
b = 200  
if b > a:  
    print("b больше, чем a")

Вывод:

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

В этом примере 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

В этом примере a больше чем b, и поэтому первое условие не будет true, так же как и условие elif не будет true, поэтому нам нужно перейти else и вывести на экран “a больше, чем b”.
Вы можете так же использовать else без elif:

a = 200  
b = 33  
if b > a:  
    print("b больше, чем a")
else:
    print("b меньше, чем a")

Вывод:

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("=") 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")

Далее: Цикл while

Тест на знание python

Что выведет этот код?
Что выведет этот код?
Какая функция разворачивает список задом наперед?
Какой будет результат выполнения этого кода?
Что выведет этот код?
Александр
Я создал этот блог в 2018 году, чтобы распространять полезные учебные материалы, документации и уроки на русском. На сайте опубликовано множество статей по основам python и библиотекам, уроков для начинающих и примеров написания программ. Пишу на популярные темы: веб-разработка, работа с базами данных, data sciense и другие...