Дмитрий Гронский
Python 2

»
О курсе
Python - достаточно экспрессивный язык и, в целом, демократичный, благодаря низкому порогу входа. В то же время это играет и против нас - легко выйти на плато умений. На этом курсе мы, уже что-то умея, попробуем дать себе пинка - вывернуть язык наизнанку и сделать более сложные конструкции, идиомы и механизмы понятными, а также познакомиться с "взрослыми" SWE принципами.


»
Команда курса
Дмитрий Гронский
Лектор

»
Программа курса
Quick Recap: тулинг и экосистема
Виртуальные окружения и пакетные менеджеры
зоопарк pip, venv, conda, ana/mini-conda, pipenv / poetry 🥴
Quick Recap: структура проекта
Тестирование (unit, integration, e2e)
pytest
Quick Recap: базовые структуры данных
Декораторы
Контекстные менеджеры, exit stack
Quick Recap: протокол итерации
Устройство CPython, модель памяти, сборщик мусора, GIL
Асинхронное исполнение программ
- concurrency VS parallelism
- multiprocessing, multithreading
- AsyncIO
Логирование
Система импортов, пакеты, модули, binary extenstions
Система типов
typing, абстрактные классы, collections.abc, виртуальное наследование
Generics, Protocol
Ковариантность и контравариантность типов
Producer Extends Consumer Super

Метаклассы
Объектная модель, ООП
  • наследование, множественное наследование, миксины, алгоритм линеаризации
  • descriptor protocol
    @staticmethod, @classmethod
  • inheritance VS composition, dependency injection
  • SOLID
Паттерны проектирования
  • singleton
  • factory
  • observer
и другие