Что важно знать
venv,pip, lock-файлы; современные менеджеры — uv, poetry.- ruff — линтер и форматтер.
- pytest: фикстуры, параметризация,
monkeypatch,pytest-asyncio.
Виртуальные окружения, зависимости, uv и poetry, ruff, pytest.
venv, pip, lock-файлы; современные менеджеры — uv, poetry.monkeypatch, pytest-asyncio.Практика. Покрыть учебный проект тестами pytest с фикстурами и отчётом покрытия.
Практика. Настроить проект на uv с ruff, mypy и pytest в CI.
Код под if __name__ == "__main__": выполняется, только когда файл запущен как скрипт, а не импортирован.
При первом import модуль ищется по sys.path, выполняется сверху вниз один раз и кладётся в sys.modules; повторные импорты берут его оттуда. Циклический импорт ломается, когда…
Аннотации — подсказки о типах для людей и инструментов; интерпретатор их не проверяет.
patch временно заменяет атрибут по имени на Mock. Подменять нужно в модуле, где имя ищется, а не там, где оно определено: если orders.py сделал from payments import charge…
Виртуальное окружение — отдельная копия Python со своими пакетами для каждого проекта.
Фикстура — функция с @pytest.fixture, результат которой pytest передаёт в тест по имени параметра. Код после yield — очистка. scope (function, class, module, package, session)…
На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.