Объектно-ориентированное программирование (ООП) — это парадигма программирования, где различные компоненты компьютерной программы моделируются на основе реальных объектов. Объект — это что-либо, у чего есть какие-либо характеристики и то, что может выполнить какую-либо функцию. Главным понятием ООП является понятие программного объекта. Вообще говоря, большинство сущностей на планете Земля – это некие объекты. И с частью из них мы взаимодействуем при помощи программирования. Банковский счёт, персонаж компьютерной игры или анимированный виджет сайта – всё это легко представить в виде объектов. Можно сказать, что объектно-ориентированное программирование позволяет смоделировать реальный объект в виде программного.
Темы которые мы изучим:
– Объекты и классы
– Атрибуты (Setattr, getattr, delattr, dict)
– Инициализация объектов и аргумент self
– Свойства (getter, setter, deleter)
– Dunder методы (get, set)
– Статические методы (@staticmethod)
– Slots – оптимизируем потребление памяти
– Dunder метод (New)
– Методы класса (@classmethod)
– Инкапсуляция – публичные, приватные и защищенные атрибуты
– Моносостояние – принцип работы
– Полиморфизм на примере (@singledispatch)
– Dunder методы (str, repr, len, del)
– Dunder методы (bool, bytes, float, int)
– Dunder методы (pow, reversed, truediv)
– Dunder методы (next, iter, call)
– Контекстный менеджер в классе используя (enter, exit)
– Dunder методы (add, sub, eq, hash)
– Работа с атрибутами (hasattr, getattr)
– Dunder методы (getitem, setitem, delitem, mul)
– Наследование и перегрузка методов
– Разбираем (isinstance, issubclass, getsizeof)
– Переопределение методов родителя
– Дата-классы (@dataclass)
– Множественное наследование (mro, vars, callable, super)
– Абстрактные методы (ABCMeta, abstractmethod)
– Декораторы классов
– Динамическое редактирование класса
– Метаклассы
Какие задания мы выполним?
– Рассмотрим связь классов и экземпляров в памяти компьютера
– Научимся переопределять поведение классов и базовых операторов
– Разберем полиморфизм, наследование, инкапсуляцию на простых примерах
– Рассмотрим принцип динамического редактирования классов
– Рассмотрим основные концепции метапрограммирования
– Научимся оптимизировать классы и использовать декораторы классов
– Рассмотрим продвинутые темы для работы с полиморфизмом и дата-классами
Для кого этот курс:
- начинающие разработчики Python
- разработчики, которые хотят изучить ООП на профессиональном уровне
Отзывы
Отзывов пока нет.