Краткий справочник по всему профи-курсу.
- Изоляция зависимостей для каждого проекта.
- Poetry управляет пакетами и версиями (pyproject.toml, poetry.lock).
- Запуск: poetry run python main.py.
- def func(x: int) -> str:.
- Optional[T], Union[A, B], Any, Callable.
- mypy проверяет типы до запуска.
- Декоратор — функция, оборачивающая другую функцию.
- @functools.wraps сохраняет имя и докстринг.
- Замыкание запоминает переменные из внешней области.
- str / repr — вывод и отладка.
- add, sub, mul — перегрузка операторов.
- eq, lt — сравнение.
- len, getitem.
- @property — доступ к методу как к атрибуту (с валидацией).
- @classmethod — альтернативный конструктор.
- @dataclass — авто-генерация init, repr, eq.
- Итератор: iter, next.
- yield from — делегирование вложенному генератору.
- .send() — передача данных внутрь генератора.
- requests.get() / httpx.
- Pydantic (BaseModel) валидирует данные. Выбрасывает ValidationError.
- python-dotenv для .env.
- async def / await.
- asyncio.gather() для параллельного запуска.
- Не блокирует программу (идеально для I/O).
- GIL в Python позволяет выполнять только один поток байт-кода.
- threading (I/O) vs multiprocessing (CPU).
- concurrent.futures (ThreadPoolExecutor / ProcessPoolExecutor).
- Файлы test_.py, функции test_.
- assert для проверки.
- @pytest.mark.parametrize для табличных тестов.
- @pytest.fixture для подготовки данных.
- Модуль logging вместо print.
- Уровни: DEBUG, INFO, WARNING, ERROR, CRITICAL.
- Настройка через basicConfig().
- create_engine — подключение к БД.
- declarative_base — базовый класс.
- session.add(), session.commit(), session.query().all().
- @app.get/post/put/delete — маршруты.
- Запуск: uvicorn main:app --reload.
- Валидация через Pydantic (BaseModel).
- Документация на /docs.
- Слои: Models (БД), Schemas (Pydantic), Repositories (SQL), Services (логика), API (Routes).
- Принцип единственной ответственности (SOLID).
- Собраны: FastAPI, SQLAlchemy, Pydantic, обработка ошибок.