|
| 1 | +<img src="./ru-docs/assets/main.png"/> |
| 2 | + |
| 3 | +# Содержание |
| 4 | +## Модуль 1: Основы типизации в Python |
| 5 | +* **[1.1 Введение в типизацию: зачем, когда и как?](./ru-docs/Введение_в_типизацию.md)** |
| 6 | + * Динамическая и статическая типизация: плюсы и минусы |
| 7 | + * Типизация в Python: история и эволюция |
| 8 | + * Инструменты для статической типизации: mypy, PyCharm, другие |
| 9 | +* **[1.2 Базовые типы данных:](./ru-docs/Базовые_типы_данных.md)** |
| 10 | + * int, float, str, bool: основы работы с типами |
| 11 | + * None: отсутствие значения и его особенности |
| 12 | + * Duck typing: неявная типизация в Python |
| 13 | +* **[1.3 Коллекции и их типизация:](./ru-docs/Коллекции_и_их_типизация.md)** |
| 14 | + * list, tuple, dict, set: работа с коллекциями |
| 15 | + * Типизация коллекций: List\[int\], Tuple\[str, int\], Dict\[str, float\] |
| 16 | + * Генераторы и итераторы: типизация и особенности |
| 17 | +* **[1.4 Функции и типизация:](./ru-docs/Функции_и_типизация.md)** |
| 18 | + * Аннотация типов для аргументов и возвращаемого значения |
| 19 | + * Перегрузка функций и типы |
| 20 | + * Callable: работа с функциональными объектами |
| 21 | +* **[1.5 Классы и типизация:](./ru-docs/Классы_и_типизация.md)** |
| 22 | + * Аннотация типов для атрибутов класса |
| 23 | + * Методы класса и типизация |
| 24 | + * Наследование и типизация: как типы взаимодействуют с наследованием |
| 25 | + |
| 26 | +## Модуль 2: Продвинутая типизация |
| 27 | +* **[2.1 Типизация с ипользованием TypeVar:](./ru-docs/Типизация_с_использованием_TypeVar.md)** |
| 28 | + * Создание универсальных функций и классов |
| 29 | + * Ограничение типов с помощью TypeVar |
| 30 | + * Практические примеры использования TypeVar |
| 31 | +* **[2.2 Типы объединений (Union) и опциональные типы (Optional):](./ru-docs/Типы_объединений_и_опциональные_типы.md)** |
| 32 | + * Работа с переменными, которые могут иметь разные типы |
| 33 | + * Использование Optional для обозначения возможности отсутствия значения |
| 34 | +* **[2.3 Типы псевдонимов:](./ru-docs/Типы_псевдонимов.md)** |
| 35 | + * Создание собственных имён для сложных типов |
| 36 | + * Повышение читаемости и удобства работы с кодом |
| 37 | +* **[2.4 Типы Any, NoReturn:](./ru-docs/Типы_Any_и_NoReturn.md)** |
| 38 | + * Any: отключение проверки типов для конкретной переменной |
| 39 | + * NoReturn: указание на то, что функция не возвращает значение |
| 40 | +* **[2.5 Типы протоколов:](./ru-docs/Типы_протоколов.md)** |
| 41 | + * Определение интерфейсов для классов без явного наследования |
| 42 | + * Structural typing: проверка типов по структуре, а не по имени |
| 43 | +## Модуль 3: Типизация в реальных проектах |
| 44 | +* **[3.1 Интеграция mypy в рабочий процесс:](./ru-docs/Интеграция_mypy.md)** |
| 45 | + * Настройка mypy для проверки типов в проекте |
| 46 | + * Интерпретация ошибок mypy и их исправление |
| 47 | +* **[3.2 Stub файлы:](./ru-docs/Stub_файлы.md)** |
| 48 | + * Что это такое и зачем нужны? |
| 49 | + * Как типизировать сторонние модули |
| 50 | + * Генерация stub файлов |
0 commit comments