Справочник Python

Полное руководство по языку на русском

Условные операторы

if / elif / else

age = 18  # числовое значение

if age >= 18:  # условие
    print("Совершеннолетний")  # вывод в консоль
elif age >= 14:  # иначе если
    print("Подросток")  # вывод в консоль
else:  # иначе
    print("Ребёнок")  # вывод в консоль

Логические операторы

# and — оба истинны
if age >= 18 and has_document:  # условие
    print("Доступ разрешён")  # вывод в консоль

# or — хотя бы один истинен
if is_admin or is_owner:  # условие
    print("Есть права")  # вывод в консоль

# not — отрицание
if not is_banned:  # условие
    print("Пользователь активен")  # вывод в консоль

# Сравнения можно цепочкой
if 0 <= score <= 100:  # условие
    print("Корректный балл")  # вывод в консоль

# Проверка на None / пустоту
if value is None: ...  # условие
if not value: ...  # 0, "", [], None, False → True

Тернарный оператор

age = 20  # числовое значение
status = "совершеннолетний" if age >= 18 else "несовершеннолетний"  # строковое значение

# Вложенный тернарник (не злоупотребляйте)
category = "ребёнок" if age < 14 else "подросток" if age < 18 else "взрослый"  # строковое значение

match / case (Python 3.10+)

def http_status(code):
    match code:  # сопоставление с образцом
        case 200:  # вариант сопоставления
            return "OK"  # возврат значения
        case 201:  # вариант сопоставления
            return "Created"  # возврат значения
        case 400:  # вариант сопоставления
            return "Bad Request"  # возврат значения
        case 404:  # вариант сопоставления
            return "Not Found"  # возврат значения
        case 500:  # вариант сопоставления
            return "Server Error"  # возврат значения
        case _:  # вариант сопоставления
            return "Unknown"  # возврат значения

# Связывание переменных
def process(point):
    match point:  # сопоставление с образцом
        case (0, 0):  # вариант сопоставления
            print("Начало координат")  # вывод в консоль
        case (x, 0):  # вариант сопоставления
            print(f"На оси X: {x}")  # вывод в консоль
        case (0, y):  # вариант сопоставления
            print(f"На оси Y: {y}")  # вывод в консоль
        case (x, y):  # вариант сопоставления
            print(f"Точка: ({x}, {y})")  # вывод в консоль

# С условиями (guard)
def classify(value):
    match value:  # сопоставление с образцом
        case x if x < 0:  # условие
            return "Отрицательное"  # возврат значения
        case x if x == 0:  # условие
            return "Ноль"  # возврат значения
        case x if x > 0:  # условие
            return "Положительное"  # возврат значения

Короткое замыкание (short-circuit)

# Python вычисляет and/or слева направо
# and: если первое False — второе не вычисляется
# or:  если первое True — второе не вычисляется

# Часто используется для значений по умолчанию
name = input_name or "Гость"  # присваивание