Учебник по ООП в Python 3.14
Основы
Введение
Классы и объекты
Свойства
Методы
Параметры методов
Свойства внутри класса
Методы внутри класса
Конструктор
Свойства через параметры конструктора
Приватные свойства
Приватные методы
Свойства через декоратор
Введение
Геттер через декоратор
Сеттер через декоратор
Свойство только для чтения
Вычисляемое свойство
Удаление свойства
Кэширование свойства
Продвинутое
Введение
Файлы классов
Цепочки методов
Класс как набор методов
Списки объектов
Объекты внутри классов
Манипуляция объектами в классах
Передача объектов в функцию
Оператор isinstance
Сравнение объектов
Наследование
Введение
Наследование публичных методов
Методы потомка
Переопределение методов родителя
Вызов переопределённого метода
Полиморфизм
Конструктор при наследовании
Приватные методы при наследовании
Приватные свойства при наследовании
Проблема приватных свойств при наследовании
Защищённые методы
Защищённые свойства
Оператор isinstance и наследование
Иерархия наследования
Статические методы и свойства класса
Введение
Статические методы
Статические методы внутри класса
Свойства класса
Свойство класса внутри класса
Константы класса
Константы внутри класса
Обращение через класс и объект
Комбинация со статическими методами
Статический метод и self
Методы класса
Пример
Дескрипторы
Введение
Чтение через дескриптор
Запись через дескриптор
Удаление через дескриптор
Имя свойства дескриптора
Аннотации типов
Введение
Аннотации параметров
Аннотация возвращаемого значения
Объект как тип
Аннотация None
Несколько типов
Аннотации атрибутов
Тип текущего класса
Перечисления
Введение
Члены перечисления
Имя и значение члена
Автоматические значения
Перебор перечисления
Сравнение членов
Методы перечисления
Целочисленное перечисление
Строковое перечисление
Флаг
Уникальные значения
Наследование перечислений
Вызовы по имени
Введение
Имя свойства из переменной
Запись свойства по имени
Метод из переменной
Вызов сразу после создания
Проверка существования свойства
Специальные методы
Введение
Строковое представление объекта
Представление для отладки
Сравнение своим методом
Порядок объектов
Остальные операторы порядка
Хеширование
Логическое значение объекта
Вызов объекта
Менеджер контекста
Создание объекта
Деструктор
Объект как коллекция
Введение
Длина
Получение элемента
Запись элемента
Удаление элемента
Перебор
Следующий элемент
Проверка вхождения
Доступ к атрибутам
Введение
Чтение несуществующего свойства
Чтение любого свойства
Запись свойства
Проверка свойства при записи
Удаление свойства
Свойство только для чтения
Ограничение свойств
Введение
Запрет произвольных свойств
Отсутствие словаря свойств
Наследование и ограничение свойств
Сложение ограничений родителя и потомка
Свойства класса рядом с ограничением
Датаклассы
Введение
Значения по умолчанию
Фабрика значений по умолчанию
Настройка поля
Замороженный датакласс
Сравнение и порядок
Действия после создания
Наследование датаклассов
Словарь и кортеж из датакласса
Замена значений
Датакласс с ограничением свойств
Абстрактные классы
Введение
Абстрактные классы
Абстрактные методы
Параметры абстрактных методов
Наследование абстрактных классов
Оператор isinstance
Виртуальный подкласс
Протоколы
Введение
Объявление протокола
Соответствие без наследования
Проверка соответствия
Параметры методов протокола
Наследование протоколов
Несколько протоколов
Множественное наследование
Введение
Наследование от нескольких классов
Конфликты методов
Приоритет методов
Вызов метода родителя
Несколько абстрактных родителей
Абстрактный метод примеси
Примесь внутри примеси
Статические методы примеси
Свойства класса в примеси
Обобщённые классы
Введение
Параметр типа у класса
Параметр типа у метода
Ограничение параметра типа
Несколько параметров типа
Протокол с параметром типа