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¶
Скоро появится