
Mypy в проекте без типов: с чего начать, чтобы не утонуть
Как подключить mypy к кодовой базе, где аннотаций нет вообще, и не получить пять тысяч ошибок за один прогон. Настройка, стратегия по модулям и первые проверки.

Как подключить mypy к кодовой базе, где аннотаций нет вообще, и не получить пять тысяч ошибок за один прогон. Настройка, стратегия по модулям и первые проверки.

Аннотации не влияют на выполнение кода — интерпретатор их игнорирует. Разбираем, что они дают на самом деле: подсказки в IDE, документацию и работу mypy, и где начинают лгать.

Разбираем, как декоратор из синтаксического сахара превращается в рабочий инструмент: логирование, замер времени, кеш и проверка прав. С разбором того, что ломается при неаккуратной обёртке.

Скрипт падает с MemoryError на файле в 4 ГБ, потому что читает его целиком в список. Разбираем, как yield и генераторы держат в памяти одну строку вместо миллионов и где этот подход ломается.

Три способа собрать строку в Python — f-строки, метод format и старый процент. Разберём, какой брать по умолчанию и как форматировать числа, даты и выравнивание, чтобы не гуглить каждый раз.

Изменили один элемент во вложенном списке — а поменялись все. Настройка через dict.fromkeys не сработала так, как ждали. Разбираем, где Python подставляет ссылку вместо копии и как это ловить.

За 15 минут разберётесь, как раскладывать кортежи, списки и словари по переменным без индексов, ловить «хвост» через звёздочку и менять значения местами одной строкой.

Кортеж выглядит как список без квадратных скобок, но разница глубже: неизменяемость меняет расход памяти, поведение как ключа словаря и способ распаковки. Разбираем на конкретных примерах.

Множества в Python убирают дубликаты одной строкой и проверяют вхождение элемента в тысячи раз быстрее списка. Разбираем, где они выручают и где подводят.

Как достать первые три элемента, перевернуть список одной строкой и не выйти за границы. Разбираем синтаксис срезов Python на конкретных примерах — с проверкой результата после каждого шага.

За 15 минут вы научитесь заменять простые циклы for на однострочные списковые включения, добавлять условия и фильтры — и поймёте, когда их лучше не использовать.

Как за 15 минут добавить автоматический повтор к HTTP-запросам на requests и httpx, чтобы разовый сбой сети не ронял скрипт. Что установить, что скопировать и как проверить, что повтор реально работает.