Описание
В данном курсе рассматриваются все аспекты объектно-ориентированного подхода на Python. Мы начнем с инкапсуляции и интересного ключевого слова __slots__, далее мы поговорим о том, зачем нужны пакеты и как сделать свою виртуальную «песочницу» для проекта в Python.
Далее мы рассматриваем функцию как объект и изучаем в чем от этого будет польза разработчику. В этом разделе наиболее важная тема – декораторы, которые очень сильно упрощают код с кроссфукнциональностью
После этого мы переходим к жизненному циклу объекта, изучаем как на основе существующих базовых типов создать свой и зачем это нужно, разбираемся с вопросами, что происходит, когда и как объект создается и уничтожается
Далее мы учимся возвращать системе ее ресурсы, которые она одалживает разработчику, а он не всегда их отдает. Мы узнаем, как это можно гарантировать с помощью менеджера контекстов
После этого, мы учимся складывать, вычитать и умножать классы пользователя, используя для этого магические методы Python.
И в завершении тренинга, мы говорим о том, как скрыть алгоритм обхода структур данных или генерации данных на основе итератов, операторов yield, а также рассматриваем способы генерации структур данных с использованием упрощенного синтаксиса Python.
удостоверение о повышении квалификации государственного образца
Цели
Целевая аудитория
Предварительная подготовка
Способность понимать логические потоки кода.
Базовый курс по Python или опыт работы с ним (личные проекты, предыдущие работы и т.д.)
Разбираемые темы
-
1. Лучшие практики программирования на языке Python
- Документирование кода.
- __slots__
- Статические поля и методы.
- Организация кода по модулям.
-
2. Функция как объект
- Работа с параметрами функций.
- Понятия замыкания.
- Декоратор, функтор, предикат.
-
3. Жизненный цикл объекта
- Кастомизация процесса создания объекта.
- Работа с несуществующими полями и методами объекта.
- Кастомизация процесса разрушения объекта.
-
4. Работа с ресурсами
- Понятие менеджера контекста.
- Реализация собственного менеджера контекста.
-
5. Работа с объектом
- Магические методы для операций сравнения объектов.
- Магические методы для реализации арифметических операций и операций приведения типов.
- Магические методы для кастомизации представления объекта в потоке вывода.
- Магические методы для кастомизации клонирования объектов.
-
6. Итератор и генератор
- Концепция итератора.
- Реализация классического итератора в Python.
- Оператор yield.
- Генераторы структур данных на основе list comprehensive выражений.