Содержание пакета (2 курса)
1. PROкод: Стандартная библиотека Python
Вступление
1 урок
1.
Как проходить курс и зачем он вообще нужен
↗
Введение в стандартную библиотеку
4 урока
1.
Зачем нужна стандартная библиотека
↗
2.
Как устроена документация по stdlib
↗
3.
Встроенные функции и типы в Python
↗
4.
Задачи: Встроенные функции и типы в Python
↗
Расширенные базовые типы
6 уроков
1.
Комплексные числа: тип complex
↗
2.
Задачи: Комплексные числа: тип complex
↗
3.
Неизменяемые множества: frozenset
↗
4.
Задачи: Неизменяемые множества: frozenset
↗
5.
Перечисления: Enum, IntEnum, StrEnum
↗
6.
Задачи: Перечисления: Enum, IntEnum, StrEnum
↗
Продвинутые словари и структурированные данные
10 уроков
1.
collections: namedtuple как лёгкий класс
↗
2.
Задачи: collections: namedtuple как лёгкий класс
↗
3.
defaultdict: значения по умолчанию
↗
4.
Задачи: defaultdict: значения по умолчанию
↗
5.
OrderedDict и порядок ключей словаря
↗
6.
Задачи: OrderedDict и порядок ключей словаря
↗
7.
Counter: счётчики частот значений
↗
8.
Задачи: Counter: счётчики частот значений
↗
9.
ChainMap: объединение словарей
↗
10.
Задачи: ChainMap: объединение словарей
↗
Очереди и алгоритмические контейнеры
10 уроков
1.
deque: очереди, стеки и буферы
↗
2.
Задачи: deque: очереди, стеки и буферы
↗
3.
Модуль queue: очереди задач
↗
4.
Задачи: Модуль queue: очереди задач
↗
5.
heapq: кучи и приоритетные очереди
↗
6.
Задачи: heapq: кучи и приоритетные очереди
↗
7.
array: компактные числовые массивы
↗
8.
Задачи: array: компактные числовые массивы
↗
9.
bisect: бинарный поиск в списках
↗
10.
Задачи: bisect: бинарный поиск в списках
↗
Копирование и представление структур
8 уроков
1.
copy: поверхностные и глубокие копии
↗
2.
Задачи: copy: поверхностные и глубокие копии
↗
3.
copy и deepcopy в классах
↗
4.
Задачи: copy и deepcopy в классах
↗
5.
pprint: красивый вывод структур
↗
6.
Задачи: pprint: красивый вывод структур
↗
7.
Абстрактные базовые классы abc
↗
8.
Задачи: Абстрактные базовые классы abc
↗
Функциональный стиль
12 уроков
1.
functools 1: partial и wraps
↗
2.
Задачи: functools 1: partial и wraps
↗
3.
functools 2: lru_cache, reduce, singledispatch
↗
4.
Задачи: functools 2: lru_cache, reduce, singledispatch
↗
5.
itertools 1: цепочки и срезы
↗
6.
Задачи: itertools 1: цепочки и срезы
↗
7.
itertools 2: комбинаторика и группы
↗
8.
Задачи: itertools 2: комбинаторика и группы
↗
9.
itertools 3: продвинутые приёмы
↗
10.
Задачи: itertools 3: продвинутые приёмы
↗
11.
operator: itemgetter, attrgetter, methodcaller
↗
12.
Задачи: operator: itemgetter, attrgetter, methodcaller
↗
Время и даты
10 уроков
1.
time: системное время и таймеры
↗
2.
Задачи: time: системное время и таймеры
↗
3.
Форматирование и разбор времени
↗
4.
Задачи: Форматирование и разбор времени
↗
5.
datetime: даты, время и timedelta
↗
6.
Задачи: datetime: даты, время и timedelta
↗
7.
Модуль calendar: календари и расписания
↗
8.
Задачи: Модуль calendar: календари и расписания
↗
9.
zoneinfo: часовые пояса и временные зоны
↗
10.
Задачи: zoneinfo: часовые пояса и временные зоны
↗
Числа, случайность и статистика
12 уроков
1.
math 1: базовые функции и константы
↗
2.
Задачи: math 1: базовые функции и константы
↗
3.
math 2: округление и численные тонкости
↗
4.
Задачи: math 2: округление и численные тонкости
↗
5.
fractions: точные рациональные числа
↗
6.
Задачи: fractions: точные рациональные числа
↗
7.
random: генерация случайных данных
↗
8.
Задачи: random: генерация случайных данных
↗
9.
statistics: средние и дисперсии
↗
10.
Задачи: statistics: средние и дисперсии
↗
11.
Модуль decimal: точные десятичные числа
↗
12.
Задачи: decimal: точные десятичные числа
↗
Строки, шаблоны и регулярные выражения
10 уроков
1.
string: константы и полезные таблицы
↗
2.
Задачи: string: константы и полезные таблицы
↗
3.
re 1: базовые шаблоны и поиски
↗
4.
Задачи: re 1: базовые шаблоны и поиски
↗
5.
re 2: split, sub и компиляция шаблонов
↗
6.
Задачи: re 2: split, sub и компиляция шаблонов
↗
7.
re 3: группы и работа с результатами
↗
8.
Задачи: re 3: группы и работа с результатами
↗
9.
re 4: lookahead, lookbehind и флаги
↗
10.
re 4: lookahead, lookbehind и флаги
↗
Пути и файловая система
10 уроков
1.
os.path 1: базовые операции с путями
↗
2.
Задачи: os.path 1: базовые операции с путями
↗
3.
os.path 2: относительные и абсолютные пути
↗
4.
Задачи: os.path 2: относительные и абсолютные пути
↗
5.
pathlib: пути как объекты Path и паттерны работы с файлами
↗
6.
Задачи: pathlib: пути как объекты Path и паттерны работы с файла
↗
7.
shutil: копирование файлов и каталогов
↗
8.
Задачи: shutil: копирование файлов и каталогов
↗
9.
glob и tempfile: поиск и временные файлы
↗
10.
Задачи: glob и tempfile: поиск и временные файлы
↗
ОС, процессы и окружение
8 уроков
1.
os: окружение, каталог, процесс
↗
2.
Задачи: os: окружение, каталог, процесс
↗
3.
sys: argv, выход и sys.path
↗
4.
Задачи: sys: argv, выход и sys.path
↗
5.
subprocess: запуск внешних программ
↗
6.
Задачи: subprocess: запуск внешних программ
↗
7.
venv: виртуальные окружения Python
↗
8.
Задачи: venv: виртуальные окружения Python
↗
Форматы данных и сериализация
12 уроков
1.
json: обмен данными в формате JSON
↗
2.
Задачи: json: обмен данными в формате JSON
↗
3.
csv: табличные данные и файлы CSV
↗
4.
Задачи: csv: табличные данные и файлы CSV
↗
5.
pickle: сериализация объектов Python
↗
6.
Задачи: pickle: сериализация объектов Python
↗
7.
sqlite3: встроенная база данных SQLite
↗
8.
Задачи: sqlite3: встроенная база данных SQLite
↗
9.
tomllib: TOML-конфиги и pyproject.toml
↗
10.
Задачи: tomllib: TOML-конфиги и pyproject.toml
↗
11.
zipfile и tarfile: работа с архивами
↗
12.
Задачи: zipfile и tarfile: работа с архивами
↗
CLI и конфигурация приложений
8 уроков
1.
Аргументы командной строки и sys.argv
↗
2.
Задачи: Аргументы командной строки и sys.argv
↗
3.
argparse: парсер командной строки
↗
4.
Задачи: argparse: парсер командной строки
↗
5.
configparser: INI-конфиги и разделы
↗
6.
Задачи: configparser: INI-конфиги и разделы
↗
7.
Переменные окружения как конфигурация
↗
8.
Задачи: Аргументы командной строки и sys.argv
↗
Логирование, отладка и тесты
8 уроков
1.
logging 1: базовая настройка логов
↗
2.
Задачи: logging 1: базовая настройка логов
↗
3.
logging 2: хендлеры, формат и уровни
↗
4.
Задачи: logging 2: хендлеры, формат и уровни
↗
5.
traceback и warnings: работа с ошибками
↗
6.
Задачи: traceback и warnings: работа с ошибками
↗
7.
unittest и doctest: встроенные тесты
↗
8.
Задачи: unittest и doctest: встроенные тесты
↗
Модуль 15. Современный стиль кода
8 уроков
1.
15.1. dataclasses: классы данных без шаблона
↗
2.
Задачи: dataclasses: классы данных без шаблона
↗
3.
15.2. typing 1: базовые аннотации типов
↗
4.
Задачи: typing 1: базовые аннотации типов
↗
5.
15.3. typing 2: сложные типы и Protocol
↗
6.
Задачи: typing 2: сложные типы и Protocol
↗
7.
15.4. contextlib: утилиты для with и ресурсов
↗
8.
Задачи: contextlib: утилиты для with и ресурсов
↗
Модуль 16. Сеть и HTTP в стандартной библиотеке
8 уроков
1.
16.1. urllib: загрузка данных по HTTP
↗
2.
Задачи: urllib: загрузка данных по HTTP
↗
3.
16.2. urllib.parse: работа с URL и запросами
↗
4.
Задачи: urllib.parse: работа с URL и запросами
↗
5.
16.3. http.server: простой встроенный сервер
↗
6.
Задачи: http.server: простой встроенный сервер
↗
7.
16.4. Основы sockets: низкоуровневая сеть
↗
8.
Задачи: Основы sockets: низкоуровневая сеть
↗
Модуль 17. Асинхронность и параллелизм
8 уроков
1.
17.1. asyncio 1: корутины и цикл событий
↗
2.
Задачи: asyncio 1: корутины и цикл событий
↗
3.
17.2. asyncio 2: задачи и высокоуровневые API
↗
4.
Задачи: asyncio 2: задачи и высокоуровневые API
↗
5.
17.3. threading: потоки исполнения
↗
6.
Задачи: threading: потоки исполнения
↗
7.
17.4. concurrent.futures: пулы исполнителей
↗
8.
Задачи: concurrent.futures: пулы исполнителей
↗
Модуль 18. Безопасность, хеши и идентификаторы
8 уроков
1.
18.1. hashlib: хеши и контрольные суммы
↗
2.
Задачи: hashlib: хеши и контрольные суммы
↗
3.
18.2. hmac: подпись сообщений по ключу
↗
4.
Задачи: hmac: подпись сообщений по ключу
↗
5.
18.3. secrets: безопасная генерация токенов
↗
6.
Задачи: secrets: безопасная генерация токенов
↗
7.
18.4. uuid: уникальные идентификаторы объектов
↗
8.
Задачи: uuid: уникальные идентификаторы объектов
↗
Модуль 19. Текстовые и служебные утилиты
8 уроков
1.
19.1. textwrap: перенос и оформление текста
↗
2.
Задачи: textwrap: перенос и оформление текста
↗
3.
19.2. difflib: сравнение и патчи текстов
↗
4.
Задачи: difflib: сравнение и патчи текстов
↗
5.
19.3. inspect: инспекция кода и объектов
↗
6.
Задачи: inspect: инспекция кода и объектов
↗
7.
19.4. timeit: измерение скорости кода
↗
8.
Задачи: timeit: измерение скорости кода
↗
Итоги курса
1 урок
1.
Итоги
↗
2. PROкод: курс по ООП на Python 5.00
Вступление
1 урок
1.
Как проходить курс и зачем он вообще нужен
↗
Введение и основы ООП
2 урока
1.
Почему код без объектов уже не котируется?
↗
2.
Архитектура мира: создаём собственные типы данных
↗
Строим собственный мир: классы и объекты
5 уроков
1.
Внутренний мир объектов: личные секреты и их хранители
↗
2.
Язык объектов: кто такой self на самом деле?
↗
3.
От появления до исчезновения: как живут и умирают объекты
↗
4.
Методы, живущие вне объектов: @classmethod и @staticmethod
↗
5.
Конструкторы 80-го уровня: __new__ и паттерн-невидимка
↗
Пит-стоп: лёгкие задачки
1 урок
1.
Объектная передача данных: от станции к станции
↗
Личный дневник объектов: контроль и защита данных
4 урока
1.
Личные границы: как защитить данные от посторонних
↗
2.
Секретные окна: умные свойства в Python
↗
3.
Дескрипторы: настройка поведения атрибутов
↗
4.
UserProfile: современный контроль данных в классе
↗
Магические методы: настройка поведения объектов
7 уроков
1.
Вызови меня! Как объекты притворяются функциями
↗
2.
Перехват доступа к атрибутам: getattr, getattribute, setattr....
↗
3.
Когда объект становится истиной
↗
4.
Глянцевый вид: как объекты рассказывают о себе
↗
5.
Личные полки: как объекты выдают и прячут свои элементы
↗
6.
Вперёд по шагам: магия итераторов
↗
7.
Маленькие, да удаленькие: редкие, но полезные магические методы
↗
Арифметика, сравнения и уникальность
3 урока
1.
Считаем по-своему: арифметика объектов
↗
2.
Сравнение с характером: логика отношений
↗
3.
Печать уникальности: зачем объекту hash
↗
Испытание: магические методы на практике
1 урок
1.
Магазин будущего: объектная магия в действии
↗
Наследование и структура классов
6 уроков
1.
Наследование: повторное использование кода
↗
2.
Наследование и доступ: private, protected и переопределения
↗
3.
Зовём предков: сила super()
↗
4.
Проверка наследования: isinstance и issubclass
↗
5.
Абстракции и полиморфы: объект на все руки
↗
6.
Множественное наследие и порядок в хаосе
↗
Испытание: классовая иерархия
1 урок
1.
Проектирование и развитие OrderCore: практика ООП
↗
Оптимизация и расширенные возможности наследования
1 урок
1.
slots: экономим память и ускоряем работу
↗
Испытание: Архитектура и маршрутизация
1 урок
1.
Мир Механиков
↗
Исключения и управление ресурсами
5 уроков
1.
Когда всё идёт не так: ловим ошибки
↗
2.
Контроль до конца: else и finally на практике
↗
3.
Вперёд по стеку: пробрасываем исключения выше
↗
4.
Свои ошибки: создаём пользовательские исключения
↗
5.
Ресурсы под контролем: магия with
↗
Испытание: исключительный случай
1 урок
1.
Центр обработки заказов “Мир”
↗
Data Classes - классы с автопилотом
4 урока
1.
Автоматические классы: знакомство с @dataclass
↗
2.
Тонкая настройка автоклассов: field, init и магия
↗
3.
Наследуем и улучшаем: продвинутые Data Classes
↗
4.
Data Classes в действии: сериализация и интеграция
↗
Разные задачи для закрепления
2 урока
1.
Задачи для закрепления 1
↗
2.
Задачи для закрепления 2
↗
Заключительное испытание
1 урок
1.
Архитектура "Умного города"
↗
Итоги курса
1 урок
1.
Заключение
↗