SOLID-принципы. Введение в ООП на Python.
HTML-код
- Опубликовано: 4 фев 2021
- Курс из 15 занятий, читается весной 2021 года в МФТИ, школа ЛФИ, 2 курс.
Тема 1-го занятия: ООП на Python.
Материалы курса: github.com/tkhirianov/pydatan
Telegram-канал для общения вольнослушателей: t.me/tkhirianov_data_analysis...
Спонсировать канал: / tkhirianov или www.paypal.me/tkhirianov
Предлагаю помочь Тимофею 7 лет из Набережных Челнов восстановить ухо:
bolshie-dela.com/podarite-voz...
Тайм-коды (спасибо @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 стандартные модули: docs.python.org/3/library/ind... Стандартная библиотека 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
Курс будет слушать 20 человек группы ЛФИ! Через 3 дня 20 000 просмотров))) Преподаватель - золотой души человек! Храни Вас Господь!
Сегодня уже 42 тыс)
Да, сейчас физики бога запрограммируют
@@alexanderskusnov5119 который создаст ещё одно человечество, которое запрограммирует Бога, который...
70 тыс.
123 тыс.
"не достаточной компетенции"... Да что вы такое говорите!?!?
У Вас самые лучшие лекции по программированию на ютубе!
DS это не совсем программирование, это больше статистика.
Обьяснения доходчивы но мало материала, приходится гуглить)
Скромняшка
Тимофей если бы все преподаватели были такие как вы или подобны вам(с таким же подходом и энтузиазмом), интерес к данным дисциплинам вырос в разы !Очень нравится ! продолжайте в том же духе !
У нас был препод сопромата... Грамотей ещё тот... Он говорил: *«Господь Бог знает предмет на отлично. Я - на хорошо. Остальные - либо ничего не знают, либо что-то слышали о предмете».* Намучились мы с ним... Но если нам ещё «везло», то 99% девчонок не фартило. Только две из них - одна прыщавая, а вторая - в очках, сдавали с первого раза.
Тайм-коды: ООП, SOLID-принципы
0:00 Объектно-Ориентированное Программирование - это парадигма программирования, в которой основными концепциями являются понятия объектов и классов
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 стандартные модули: docs.python.org/3/library/index.html Стандартная библиотека 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
Посмотреть перечень всех конспектов: www.patreon.com/iritaka
Спасибо. Ссылки на задачи будут?
@@grifin6426 У Тимофея Фёдоровича на гитхабе пока нет этого курса
В закреп такое надо)
уже.
@@grifin6426 Ссылки уже в описании.
дизлайки поставили представители яндекс-практикума))
Дизлайки в районе 1%-3% от лайков это люди, которые хотели поставить лайк но промахнулись. Об этом рассказывал Савватеев на лекции по теориии игр.
Яндекс-практикум в списке источников для изучения python рекомендует лекции Тимофея Федоровича)
Дизы тоже продвигают видео, как это ни странно.
@@YepSpirit чушь, диз элементарно отменяется повторным нажатием
@@YepSpirit Я поставил дизлайк по двум причинам, во-первых за сам недоязык программирования питон, который пора уже перестать хайпить и понять что он лишь отвлекает человеческие ресурсы на бесполезную трату сил и времени, а во-вторых за очень устаревший (точнее - неверный) подход к объяснению ООП и всего, что с ним связано.
Вижу Тимофея Фёдоровича - ставлю лайк ).
"Посмотрите, что он печатает. !!! Фигню он печатает..." ))))
Тимофей, вы - лучший!
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 стандартные модули: docs.python.org/3/library/ind... Стандартная библиотека 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
ТФ, удивляете в самом хорошем смысле!
теперь будем ждать курсы про машинное обучение и нейронные сети)
+ глубокое обучение для полного комплекта.
@@sergeyv1534 так это и есть нейросети.
@@Evgeny_Yurievich Рекомендую к прочтению статью на Хабре (Нейросети и глубокое обучение, глава 1). Даётся краткое и в то же время ёмкое определение для каждого из вынесенных в заголовок статьи терминов, ознакомившись с которыми можно сделать вывод об их сходствах и отличиях.
@@sergeyv1534 спасибо.
Я извиняюсь за неожиданный вопрос, но всё же очень интересно, вы не тот человек, что играет в Squad, и в дискорде точно такая же иконка? Просто если так, то очень неожиданно получается :D
Так приятно снова почувствовать себя студентом, когда очень интересно, но мало что понятно, а препод это бог, который спустился с неба и пытается мне что-то рассказать.
Ура , новый курс. :)
Я ещё старые не досмотрел :(
Тот самый случай, когда смотришь материал, который уже знаешь, но все равно не можешь оторваться)) Обожаю ваши видео уроки, Тимофей, 1.5 года назад с них начинала свой путь, - сейчас, уже будучи разработчиком, все равно возвращаюсь к этим видео периодически, и всегда получаю удовольствие от такого качественного объяснения
Вы очень талантливый преподаватель, пусть хранит Вас Бог. Удачи и счастья вам во всем и здоровья. Спасибо за лекции
Ладно, хорошо, теперь этот курс будет в моей подборке медитативных видосов на случай приступа тревоги.
А где можно посмотреть вашу подборку сотоварища-тревожника? 😅 засыпаю спокойной под эти лекции)
@@user-mr8xe3gv1n у меня есть такое)
Спасибо большое за старания!
Пожалуйста, не останавливайте этот курс)
Хочу выразить вам огромную благодарность, за ваш труд!
Круто! Давно хотел анализ данных , Спасибо Тимофею Федоровичу !
однозначно лучшие лекции на русском по потиону, спасибо!
Спасибо большое! Ваши лекции самые лучшие. Буду с нетерпением ждать следующих!)
Курс на 20 человек? :) Уже 200 тысяч просмотрели лекцию! Спасибо вам!
Тимофей, благодарю Вас за ваш титанический труд! Очень доходчиво и интересно. Каждый Ваш урок заходит на ура и его всегда мало. Большое человеческое СПАСИБО!
Спасибо Вам большое! Такие интересные лекции у вас! Вы просто супер преподаватель!
Самый офигенный препод в ютубе, большое Вам спасибо за Ваши труды
Спасибо Вам, очень актуально и полезно!
Извините, только сейчас добрался до этого видео. Про сына электрика это гениально! Лучшее объяснение Liskov substitution principle, которое я слышал. 👍
Огромное спасибо за ваш труд! То, что вы выкладываете, это замечательно! После вашего объяснения ООП я ещё больше анализом данных заинтересовался!!!
Спасибо за новый курс!!!
Тимофей, здравствуйте.
Как же интересно вас слушать! Спасибо
Ура! Новый курс!
Неожиданно! Очень интересно, ждем продолжения!
Спасибо за то что делаете! Развитие и совершенствование студентов и общества важно и нужно!
огромное спасибо за курсы! хорошо бы задания ещё 🙇
Вы просто талант, спасибо за предоставленную информацию.
Огромное Вам Спасибо, и Храни Вас Господь !
обалдеть, только начал смотреть ваши лекции еще 2017, а тут высветилась НОВАЯ лекция :) спасиб!
Потому что это не человек, это генератор концентрированных знаний
Как совет: не смотрите старые лекции, смотрите лекции этого года. Последующие повторения более структурированы и расширены, учтены и устранены ошибки.
Ну и как? За 5 лет просмотра лекций устроился на работу хотя бы джуном?
@@ybrbnf333 нет, забросил на второй лекции🤣👍
Отдельное спасибо за "правильное наследование". Часто слышно "наследование в ООП - это плохо и точка" и все кинулись писать код без наследования не понимая, что без наследования ООП просто не существует.
Я как раз задумал изучать Python и Data Science, спасибо!
Очень здорово что проводятся паралели с С++
Тимофей Федорович, это огонь!
Невероятный преподаватель!!!😀 Спасибо Огромное Вам!!!
Спасибо за материал, очень полезно и интересно смотреть, есть небольшя просьба сделать плейлист по питону по тем видео, которые у вас имеются
Спасибо Вам огромное за Ваши лекции, окончил университет в 2008, но с удовольствием и пользой для себя смотрю ваши лекции. У вас хороший академический, структурированый стиль, кооторого так не хватает большинству онлайн учителями.
Как всегда, супер подача материала.
Тимофей, клёво! Если ещё сделаете разметку видео по сегментам для ютуба - будет вообще кайф, будет легче искать нужную часть
Круто!!! Тимофей, продолжай в том же духе.
Спасибо вам огромное за ваш неоценимый труд и вклад в развитие всего русскоговорящего IT сообщества.
Мне кажется, было бы здорово, если бы некоторый доступ к семинарам имели ваши патроны. Это было бы и подспорьем вам, и возможностью дополнительно поблагодарить вас, вместе с тем еще больше приобщившись к курсу.
Лучшая информация по SOLID. Огонь.
Спасибо большое! Буду изучать.
один из самых харизматичных рассказчиков, очень интересно слушать
Каждой может выучит алфабет и писать , не всех дадено писат стихи. г-н Хирыянов вы поет. Очен рад смотреть здесь все ваши лекции.
Примеры конечно огонь!))) Про строителя с тачкой понравилось)
Вы прекрасный лектор!
Ох уж эта функция,которая рядом валялась :))
Спасибо за лекцию!
дай вам бог здоровья!
Вы супер! Спасибо вам огромное!
Тимофей Фёдорович, огромное Вам спасибо!!!!!!!
Тимофей, большое спасибо за ваш труд! Очень интересно про ООП на python, надеюсь, на введении не остановитесь)
Круто! Обновлю свои знания ООП :)
Тимофей Фёдорович, классная лекция, спасибо! Будет здорово, если будете смотреть в камеруу иногда для вольнослушателей:)
привет, рад как никогда продолжению курса по питону. когда 2 лекция?
Круто, ждём новых лекций в этой теме!
Практику выложите?
Опачки) настроение поднялось)
Такая грамотная подача материала что мое почтение
Круто, отличный курс! У меня курс по VBA слабовато преподают, сам взял книжку и читаю. А у Вас всё живо и бодро, как должно быть.
@@9816081 да, в учебных заведениях и я думаю во многих. Паскаль уже пронесло) учителя постарше и не такое могут)
Ждём!!! След. Урока)
обожаю как выпреподаёте
Тимофей, благодарю! 🤝👍 💯
Больше про SOLID принципы (особенно на принцип SRP). Хотелось бы на практике узнать поближе эти принципы, так как думаю что это один из необходимых для понимания принципоп ООП.
Great video, thank you, Master
Спасибо! Очень понятно!
Спасибо огромное за знания !
Спасибо за лекции
Тоже считаю, что лекции по Python лучшие в сети!!!!
Ура! Спасибо большое!
Я пришёл к Вам из Foxford. Искал пару дней и вот, мне попалось данное видео! УРА!
Мне в свои 41+ очень даже отлично зашло. Жаль не было таких преподавателей в МГИУ в мое время
Отличный мастер-класс по принципам SOLID.
Нет, друг, это совсем не так
@@xbsxbs22 странно.
Лайк не глядя!
За что люблю лекции Тимофея, так это за то, что он их не читает! Он их творит! Каждый раз! IRL!
самый лучший преподаватель!
Очень хотелось бы увидеть и записи семинаров!
Отлично. Будет интересно
Buen video hermano, saludos desde Chile.
Честно, с трудом заставил себя начать это смотреть, и думал, как я осилю 70 минут лекции, которые я ненавижу всем своим естеством. На 60-й минуте, когда меня окликнули от компа, пришло осознание, что уже пролетел час, у меня есть небольшой конспект и я не хочу, чтобы это останавливалось. Как же мало на самом деле таких лекторов с таким материалом. Спасибо вам большое
Благодарю за урок.
Тимофей, спасибо!!!
Спасибо Тимофей Федорович!))))
Спасибо вам за лекции и вдохновение осваивать новые области! =)
Уточнение насчёт исключений в Google. Вот непосредственная цитата из стайлгайда:
Exceptions are allowed but must be used carefully.
Отказались они от обработки исключений в C++, да и то из-за большого количетсва легаси-кода, который не готов был их обрабатывать. Так исторически сложилось, как говорится)
жалко, что раньше таких лекторов на youtube не было
спасибо вам большое)
Божественно !
спасибо
Спасибо!
Вы лучший!
Спасибо большое!
Большое срасибо!
Дякую!
ура новый курс!
Недавно закончил курс по практике программирования на Python. Задумался, куда двигаться дальше, в веб или в анализ данных. Не мог определиться. И вот сегодня появляется этот курс! Что это, если не знак?)