[Stepik] Объектно-ориентированное программирование на Python 2023 [Артем Егоров]
70₽
В Python абсолютно всё является объектами. Но что такое объект? Как его создать? Какие характеристики могут быть объекта? А как объекты взаимодействуют с друг другом? На все эти вопросы поможет ответить объектно-ориентированное программирование (ООП)
ООП — это парадигма, которая применяется практически во всех Python проектах. Невозможно представить хороший фреймворк или библиотеку, который не будет её использовать. Так как именно ООП позволяет создавать проекты, которые будут легко поддерживаться, легко читаться и масштабироваться.
Если вы планируете работать в команде, создавать стабильные и расширяемые приложения, тогда вам определенно нужно понимать ООП, причем не только его основы, а именно принцип его работы на глубоком уровне.
Этот курс поможет вам познакомиться с ООП.
Он содержит полностью всю информацию, после изучения которой, вы легко сможете работать с проектами на основе ООП и более глубоко понимать
принцип работы объектов.
Темы, которые рассматриваются в этом курсе
— Объекты и классы
— Работа с атрибутами (setattr, getattr, delattr, dict)
— Инициализация объектов и аргумент self
— Свойства (getter, setter, deleter)
— staticmethod и classmethod
— Магические методы
— Наследование
— Делегирование, переопределение
— Множественное наследование
— MRO
— Дата-классы (dataclass)
Для кого этот курс
— Для тех, кто уже уверенно знает основы python и хочет поднять свой уровень
Начальные требования
— Для успешного прохождения курса необходимо знать основы языка Python
Программа курса
Введение в классы
01 Классы, объекты, экземпляры классов
02 Атрибуты класса
03 Атрибуты экземпляра класса
04 Функции как атрибут класса
Методы и свойства
01 Методы экземпляра. Аргумент self
02 Инициализация объекта. Метод init
03 Практика «Создание класса и его методов»
04 Моносостояние для экземпляров класса
05 Публичные, приватные, защищенные атрибуты и методы
06 Геттеры и сеттеры, property атрибуты
07 Декоратор Property
08 Вычисляемые свойства
09 Classmethod и staticmethod
10 Пространство имен класса
11 Практика по методам и свойствам (property)
Магические методы. Double underscore (dunder) methods
01 Магические методы. Методы __str__ и __repr__
02 Магические методы __len__ и __abs__
03 Магические методы __add__, __mul__, __sub__ и __truediv__
04 Специальные методы сравнения объектов классов
05 Магический метод __bool__
06 Магический метод __call__
07 Полиморфизм в Python
08 Методы __getitem__ , __setitem__ и __delitem__
09 Магические методы __iter__ и __next__
Наследование
01 Принцип наследования в ООП
02 Наследование от object и от других встроенных типов
03 Переопределение методов в Python
04 Расширение класса в Python
05 Делегирование в Python
06 Множественное наследование
07 MRO — порядок разрешения методов
08 Миксины
09 Slots
10 Slots: свойства(property) и наследования
11 Абстрактные классы
Исключения Ecxeptions
01 Исключения в Python
02 Распространение исключений
03 Обработка исключений try-except
04 Инструкция raise
05 Пользовательские исключения в Python
06 Менеджер контекста
07 Менеджер контекста: часть 2
Дополнительный материал
01 Приятность № 1
02 Приятность № 2
Выпускной
01 Мое почтение