Типизированный Python для профессиональной разработки — теория и практика [2022]



Типизированный Python для профессиональной разработки — теория и практика [2022]

Типизированный Python для профессиональной разработки — теория и практика [2022]

Книга в PDF https://t.me/t0digital/151
Веб-версия https://to.digital/typed-python/

Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: https://botanim.to.digital/
Мой курс «Основы компьютерных и веб-технологий с Python»: https://course01.to.digital/
Telegram: https://t0digital.t.me

Цель этого материала — помочь тебе научиться писать более красивые, надёжные и легко сопровождаемые программы на Python. То, о чём мы здесь будем говорить, это не начальный уровень владения языком, предполагается, что ты уже минимально умеешь программировать, но хочешь научиться делать это лучше. Будем учиться писать более надёжные, качественные и легко сопровождаемые программы, используя типизацию в Python.

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

Разберём эти и другие типы:
– NamedTuple
– dataclass
– TypedDict
– Enum
– Literal
– Union, Optional
– Iterable, Sequence
– Callable
– TypeVar и др.

Код — https://github.com/alexey-goloburdin/weather

Сказать спасибо денежкой за работу и материал можно здесь:
https://boosty.to/digitalize.team

0:00 Постановка целей
5:10 Type hinting — зачем?
7:55 Раннее выявление ошибок
22:24 Читаемость и поддерживаемость кода
25:34 Помощь IDE при разработке
26:30 Zen of Python
28:20 Интерпретатор не проверяет подсказки типов
31:19 Пишем программу погоды
36:56 Накидываем структуру приложения
42:01 Пишем каркас приложения
48:16 NamedTuple — именованный кортеж
52:02 Обычный словарь dict
56:09 Literal
58:04 TypedDict
1:00:37 Dataclass
1:13:20 Alias для типа
1:16:25 Enum
1:27:35 Реализация — получение GPS координат
1:40:40 Реализация — получение погоды с API OpenWeather
1:50:36 Реализация — принтер погоды
1:51:55 Обработка исключений
1:53:19 Проверяем работу приложения
1:43:07 Использование интерфейсов или абстрактных классов
2:07:39 Анализ получившейся архитектуры кода
2:15:29 Статический анализатор mypy
2:18:15 Optional
2:19:18 Контейнеры — Iterable, Sequence, Mapping и др.
2:27:14 О типизации кортежей
2:28:57 Дженерики
2:32:05 Callable
2:33:35 Stub файлы и работа с нетипизированными библиотеками
2:36:42 Подсказки типов нужны только в функциях?
2:39:47 Резюме

/****************** about ******************/

Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:

— Диджитализируй https://digitalize.team, разрабатываем сложные IT системы для бизнеса;
— Salesbeat https://salesbeat.pro, комплексный модуль доставки для интернет магазинов.

Telegram канал — https://t.me/t0digital
ВК — https://vk.com/digitalize.team
RuTube — https://rutube.ru/channel/24802975/about/
Дзен — https://dzen.ru/id/6235d32cb64df01e6e78c883