SOLID-принципы. Введение в ООП на Python.

 

Курс из 15 занятий, читается весной 2021 года в МФТИ, школа ЛФИ, 2 курс. Тема 1-го занятия: ООП на Python. Материалы курса:
Telegram-канал для общения вольнослушателей:
Спонсировать канал:
или
Предлагаю помочь Тимофею 7 лет из Набережных Челнов восстановить ухо:
Тайм-коды (спасибо @Iritaka 160 ): 3:15 Объектно-Ориентированное Программирование - это парадигма программирования, в которой основными концепциями являются понятия объектов и классов 5:52 поглощение 7:28 в Питоне всё - объект 7:41 SOLID -принципы. 5 принципов ООП. А раньше ООП включало 3 кита: инкапсуляция, полиморфизм и наследование 8:40 S (single responsibility) Принцип единственной ответственности 9:57 O (open-closed) Принцип открытости/закрытости 13:41 L (Liskov substitution) Принцип подстановки Лисков 15:33 не стоит ударяться в наследование 17:00 I (interface segregation) Принцип разделения интерфейса 19:36 D (dependency inversion) Принцип инверсии зависимостей 23:21 ООП не придаёт никаких новых алгоритмов 24:31 понятие Объекта и Класса. Класс - тип, описывающий устройство объектов. Объект - экземпляр класса 24:40 как создать класс и как вызвать (создать экземпляр) класс 25:15 статический атрибут. Конструктор класса (инициализирующий метод), динамические ("экземплярные") атрибуты 25:53 в Питоне перегрузки функций нет (нет возможности сделать несколько конструкторов с разным набором параметров) 27:13 "Магические" методы классов. Спец метод. 29:13 _del_ - спец. метод, предназначенный для закрытия объекта. Деструктор объекта 30:13 _new_ - метод, который создаёт объект 30:30 Статические и классовые (экземплярные) методы 33:43 Абстрактные классы. Библиотека abc from abc import ABC, abstractmethod 36:47 Декомпозиция программы на модули. Менеджер контеста. Пространство имён 39:25 конфликт имён. Если в 2 заимпортированных модулях одинаковые имена 44:50 стандартные модули:
Стандартная библиотека Python 47:13 модуль sys 49:41 модуль os 52:07 r-строки. Тип строки. Строки, в которых экранирование запрещено. f - строки 54:00 import os.path модуль-пакет 57:29 os.path.join объединение в один путь 58:49 модуль tempfile 58:54 модуль csv. Для работы с табличными данными. Таблицы эксель можно перевести в csv 1:00:38 Обработка исключений. Обработка ошибок. try escape else finally