Курс · карта «Python»

Python для бэкенда: от типов до asyncio и FastAPI

Типы и коллекции, функции и декораторы, исключения, генераторы, ООП и модель данных, потоки, процессы и asyncio, память и производительность, аннотации типов, тесты и веб-фреймворки.

12уроков
≈ 1 чна чтение
Junior–Middleуровень

Уроки

12
  1. 01Типы и коллекции — что изменяемо, что хешируемо и как устроен dict

    Изменяемые и неизменяемые типы, список и кортеж, словарь и множество на хеш-таблице, is против ==, модуль collections.

    2 мин
  2. 02Функции — аргументы, области видимости, замыкания и декораторы

    Как передаются аргументы, *args и **kwargs, LEGB, ловушка изменяемого значения по умолчанию, замыкания и позднее связывание, декораторы и functools.

    2 мин
  3. 03Исключения и контекстные менеджеры

    try, except, else и finally, свои исключения и цепочки raise from, with и контекстные менеджеры, ExceptionGroup.

    2 мин
  4. 04Итераторы, генераторы и itertools

    Протокол итерации, генераторы и генераторные выражения, срезы, send и yield from, ленивые инструменты itertools.

    2 мин
  5. 05ООП в Python — классы, свойства, наследование и dataclass

    self и __init__, магические методы, property, staticmethod и classmethod, MRO и super, dataclass против namedtuple и Pydantic, ABC и Protocol, метаклассы.

    2 мин
  6. 06Модель данных — создание объектов, атрибуты и дескрипторы

    __new__ и __init__, согласование __eq__ и __hash__, __getattr__ и __getattribute__, дескрипторы и __slots__.

    2 мин
  7. 07Потоки, процессы и GIL

    Что такое GIL и что он не защищает, когда выбирать потоки, процессы или asyncio, concurrent.futures, ограничения multiprocessing, сборка без GIL.

    2 мин
  8. 08asyncio — корутины, задачи, отмена и блокирующий код

    Как работают async и await, как запускать корутины одновременно, gather и TaskGroup, что делает блокирующий вызов в цикле событий, отмена и таймауты.

    2 мин
  9. 09Память и производительность CPython

    Подсчёт ссылок и сборщик циклов, слабые ссылки, интернирование чисел и строк, копирование, сложность операций, профилирование и способы ускорения.

    3 мин
  10. 10Аннотации типов, mypy и Pydantic

    Что дают аннотации и кто их проверяет, как аннотировать коллекции, Optional и объединения, обобщённые типы, mypy в проекте, проверка данных Pydantic.

    2 мин
  11. 11Окружение, импорты и тесты на pytest

    Виртуальные окружения и зависимости, как работает импорт и чем опасны циклические импорты, __name__ == "__main__", pytest, фикстуры и mock.patch.

    2 мин
  12. 12Веб на Python — WSGI и ASGI, FastAPI, HTTP-клиенты, JSON, Django ORM

    Чем WSGI отличается от ASGI, простой API на FastAPI и внедрение зависимостей, requests и httpx с таймаутами, JSON с датами и деньгами, N+1 в Django.

    2 мин
Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования