Python: управление выполнением программы
Условные операторы
if
Оператор if
позволяет разветвлять поведение кода в зависимости от текущего состояния. Применение
условного оператора начинается с ключевого слова if
, за которым следует выражение, которое оценивается
как True
или False
и двоеточие.
Все объекты в Python оцениваются как True
или False
. Значит, вы можете использовать их как условные выражения в if
.
Объекты, которые оцениваются как False
:
- Константы
None
иFalse
; - Любое числовое значение, равное нулю;
- Что-то с нулевой длиной. Сюда входят пустые последовательности, такие как пустая
строка
''
, пустые список[]
, кортеж()
и словарь{}
.
Почти все остальное оценивается как True
.
x = [1, 2, 3]
if x:
print('Непустой список оценивается как True')
# напечатает 'Непустой список оценивается как True'
Чтобы запустить альтернативный блок кода, когда управляющее выражение
принимает значение False
, используйте оператор else
. Он состоит из ключевого
слова else
, за которым следует двоеточие и блок кода, который будет выполняться, только если предшествующее ему управляющее выражение оценивается как
False
.
Условные операторы можно вкладывать друг в друга.
balance = 1000
account_status = None
if balance > 0:
account_status = 'Баланс положителен'
else:
if balance == 0:
account_status = 'На балансе пусто'
else:
account_status = 'Нам должны'
print(account_status) # напечатает 'Баланс положителен'
В большинстве случаев, логические выражения в if
компонуются на основе таких операторов:
- проверка равенства
==
и неравенства!=
; - операторы сравнения
<
,<=
,>=
,>
; - логические операторы
and
иor
; - оператор отрицания
not
; - проверка наличия элемента
in
.
if x == 10 and y != 5:
...
if x <= 10:
...
if (x or y) and (a or b):
...
if not (x > 10) and y <= 5:
...
if x in ['один', 'два', 'три']:
...
Моменты, на которые необходимо обратить внимание:
- Большинство межтиповых операций проверки на равество возвращают
False
- А межтиповые операции сравнения выдают ошибку
Однострочный if
Однострочный оператор if
(его еще называют тернарным оператором) позволяет писать утверждения if-else
в виде простых однострочных операторов. Синтаксис такого оператора выглядит так
Оператор возвращает значение true_expr
, если выражение condition
оценивается как True
. Иначе, возвращает False
. Однострочный оператор if
позволяет компактно записывать часто встречающийся блок кода
В отличие от основного if
, у однострочного оператора секция else
обязательна.
a = 10
b = 20
x = 'сумма больше 40' if a + b > 40 else 'сумма меньше или равна 40'
print(x) # напечатает 'сумма меньше или равна 40'
x = 'сумма больше 40' if a + b > 40
# возникнет ошибка SyntaxError: expected 'else' after 'if' expression
Циклы
for
Скоро появится
while
Скоро появится