Курс из 15 занятий, читается весной 2021 года в МФТИ, школа ЛФИ, 2 курс.
<p>Тема 1-го занятия: ООП на Python.
</p><p>Материалы курса: <a rel="nofollow" class="external free" href="https://github.com/tkhirianov/pydatan">https://github.com/tkhirianov/pydatan</a>
Telegram-канал для общения вольнослушателей: <a rel="nofollow" class="external free" href="https://t.me/tkhirianov_data_analysis_with_py">https://t.me/tkhirianov_data_analysis_with_py</a>
Спонсировать канал: <a rel="nofollow" class="external free" href="https://www.patreon.com/tkhirianov%E2%80%8B">https://www.patreon.com/tkhirianov​</a> или <a rel="nofollow" class="external free" href="https://www.paypal.me/tkhirianov%E2%80%8B">https://www.paypal.me/tkhirianov​</a>
</p><p>Предлагаю помочь Тимофею 7 лет из Набережных Челнов восстановить ухо: 
<a rel="nofollow" class="external free" href="https://bolshie-dela.com/podarite-vozmozhnost-slyshat-timofey-smirnov-7-let-g-naberezhnye-chelny">https://bolshie-dela.com/podarite-vozmozhnost-slyshat-timofey-smirnov-7-let-g-naberezhnye-chelny</a>
</p><p>Тайм-коды (спасибо @Iritaka 160 ):
</p>
<pre>  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 стандартные модули: <a rel="nofollow" class="external free" href="https://docs.python.org/3/library/index.html">https://docs.python.org/3/library/index.html</a>   Стандартная библиотека 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
</pre>
1:00:38 Обработка исключений. Обработка ошибок. try escape else finally
<a rel="nofollow" class="external text" href="https://www.youtube.com/@tkhirianov">Тимофей Хирьянов</a>
CC BY 3.0
<bdo lang="en" dir="ltr"><a href="//commons.wikimedia.org/wiki/Commons:YouTube_files" title="Commons:YouTube files">YouTube</a>: <a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=Dx2SE4hYy4g"><bdi lang="">SOLID-принципы. Введение в ООП на Python.</bdi></a> – View/save archived versions on <a rel="nofollow" class="external text" href="https://web.archive.org/web/*/https://www.youtube.com/watch?v=Dx2SE4hYy4g">archive.org</a> and <a rel="nofollow" class="external text" href="https://archive.today/https://www.youtube.com/watch?v=Dx2SE4hYy4g">archive.today</a></bdo>