О чём курс
В данном курсе рассматриваются все аспекты объектно-ориентированного подхода на Python. Мы начнем с инкапсуляции и интересного ключевого слова __slots__, далее мы поговорим о том, зачем нужны пакеты и как сделать свою виртуальную «песочницу» для проекта в Python.
Далее мы рассматриваем функцию как объект и изучаем в чем от этого будет польза разработчику. В этом разделе наиболее важная тема – декораторы, которые очень сильно упрощают код с кроссфукнциональностью
После этого мы переходим к жизненному циклу объекта, изучаем как на основе существующих базовых типов создать свой и зачем это нужно, разбираемся с вопросами, что происходит, когда и как объект создается и уничтожается
Далее мы учимся возвращать системе ее ресурсы, которые она одалживает разработчику, а он не всегда их отдает. Мы узнаем, как это можно гарантировать с помощью менеджера контекстов
После этого, мы учимся складывать, вычитать и умножать классы пользователя, используя для этого магические методы Python.
И в завершении тренинга, мы говорим о том, как скрыть алгоритм обхода структур данных или генерации данных на основе итератов, операторов yield, а также рассматриваем способы генерации структур данных с использованием упрощенного синтаксиса Python.
Цели
Изучить продвинутые возможности языка Python с целью создания высокоэффективного и повторно используемого программного кода.
Целевая аудитория
Этот курс предназначен для разработчиков, системных администраторов и инженеров QA, которые хотят научиться разрабатывать, автоматизировать и тестировать приложения и системы, используя один из самых мощных языков программирования, доступных сегодня.
Предварительная подготовка
Базовые общие знания в области программирования и скриптовых языках
Способность понимать логические потоки кода.
Базовый курс по Python или опыт работы с ним (личные проекты, предыдущие работы и т.д.)
Для кого
Разработчик
Системный администратор
Тестировщик
Улучшаемые навыки
Основы ООП
Создание и использование классов
Наследование и расширение классов
Работа с магическими методами
Создание и использование абстрактных классов и интерфейсов
Темы курса
01
Лучшие практики программирования на языке Python
- Документирование кода.
- __slots__
- Статические поля и методы.
- Организация кода по модулям.
- Работа с параметрами функций.
- Понятия замыкания.
- Декоратор, функтор, предикат.
03
Жизненный цикл объекта
- Кастомизация процесса создания объекта.
- Работа с несуществующими полями и методами объекта.
- Кастомизация процесса разрушения объекта.
- Понятие менеджера контекста.
- Реализация собственного менеджера контекста.
- Магические методы для операций сравнения объектов.
- Магические методы для реализации арифметических операций и операций приведения типов.
- Магические методы для кастомизации представления объекта в потоке вывода.
- Магические методы для кастомизации клонирования объектов.
- Концепция итератора.
- Реализация классического итератора в Python.
- Оператор yield.
- Генераторы структур данных на основе list comprehensive выражений.
Чему вы научитесь
01
Научитесь ключевым концепциям объектно-ориентированного программирования, таким как классы, объекты, наследование, инкапсуляция и полиморфизм
02
Освоите процесс проектирования и реализации классов и объектов в Python, включая методы, атрибуты и конструкторы
03
Научитесь использовать наследование для создания иерархий классов
04
Освоите использование магических методов (dunder methods) в Python
05
Научитесь создавать абстрактные классы и интерфейсы