EGround
Редактор
- Сообщения
- 24.382
- Реакции
- 127
Тотальный ООП на Python
Квинтесенция объектно-ореинтерованного подхода. От мусорного кода, попахивающего дерьмом, до уверенных навыков кодинга и понимания паттернов проектирования за три месяца.
Херня.
Опять ты втираешь мне какую-то дичь, скажешь ты.
Но позволь тебе возразить. Сколько ты купил|а курсов по ООП? Сколько из них них ты посмотрел|а?
Видел|а ли ты там что-то большее, чем: "Вот мы создаем класс *Животное*, и класс *Котик* который от него наследуется"?
В жопу этих котиков. И животных туда же. И классы автомобиль. И класс матрешка.
Задрали!
Позволь немного остудить тебя. Котики, они действительно неплохи для объяснения концепции… Проблема этих курсов в том, что дальше котиков никто не идет.
И в итоге, у тебя кроме самых базовых примеров синтаксиса ничего не остается. А раз так, ты ничего не пишешь. Нет практики — нет навыка. И ты идешь на новую итерацию этого цикла.
И вот ты опять потерялся|лась в своих 60 функциях, в попытке внести пару простых правок в код.
А что, если я тебе скажу, что за котиками, матрешками, автомобилями кроется целый новый мир, под названием "Паттерны проектирования"?
Писать на ООП не просто приятно, это, блять, космически удобно!
И знаешь что еще более круто?
Иметь возможность легко расширять и редактировать код написанный в ООП стиле, написанный с применением паттернов.
Позволь мне провести тебя вглубь, и я покажу тебе, на сколько глубока кроличья нора!
Для кого этот курс?
Курс идеально тебе подойдет, если ты ощущаешь что функциональный стиль невпорядке.
Странная мысль. Но ее не отогнать. Она как заноза в мозгу. Как стеклянный потолок. Она сводит с ума. Ты чувствуешь ограничение функционального стиля.
Тебе тяжело поддерживать свои скрипты, тяжело их редактировать, а от идеи масштабирования ты уже давно отказался|лась…
Ты владеешь = ["База Пайтон", "Функциональный стиль", "Аннотации типов"]
Тебе хочется верить, что ООП это не про "Котиков" и хочется освоить не только базу, но и посмотреть что там дальше, за следующим поворотом.
Что в программе?
На самом деле это 3 курса в одном.
Я планировал это как три курса. Я писал программу для 3 курсов.
Но потом решил, да черт с ним.
Пусть это будет большой жирный курс по ООП. Такой курс, как люблю я. Как любишь ты, дорогой Складчик.
Часть 1. Основы ООП на Python
В этой части мы разберем базу.
Ты узнаешь про основные концепции ООП, что курили, в смысле чем в вдохновлялись создатели и почему профессионалы зачастую скептически относятся к наследованию.
Разберем такие "страшные" термины, как "Полиморфизм" и "Инкапсуляция".
Несмотря на серьёзность темы, немного времени уделим тренировке на примерах с котиками — без этого никак.
Исследуем различные виды наследования, концепцию миксинов и разберемся, как в Python разрешаются конфликты наследования.
Ты построишь надёжный фундамент, который позволит тебе развивать практические навыки на продвинутом уровне.
В рамках курса мы рассмотрим следующие темы:
Этот курс даст тебе все необходимые знания и уверенность для работы с ООП на Python, открыв для тебя новые горизонты.
Часть 2. UML
Унифицированный язык моделирования.
Те самые блок-схемки, которые ты рисовал|ла когда-то на уроках программирования в школе. Ты вырос|ла уже давно.
И они тоже выросли.
Это стандарт. Посмотрим на основные виды диаграмм UML, а так же познакомимся с божественным PlantUML синтаксисом, код, который позволяет рендерить диаграммы.
Это позволит нам визуализировать любые, самые сложные конструкции кода.
Чем великолепен UML? Он подходит для любых процессов. Не только для кодинга. И это на самом деле могло бы стать отдельным курсом, потому что с помощью него можно выстраивать диаграммы любых процессов.
От брачного периода котиков, до сложных бизнес процессов.
Мы же, в этой части, изучим основные виды UML диаграмм, и с помощью них, познакомимся с паттернами проектирования ООП.
Эта часть будет полезна всем, кому интересен UML, PlantUML, а так же паттерны проектирования, без привязки к языку программирования.
Мы рассмотрим следующие типы диаграмм:
С помощью них мы на простых и понятных примерах (а за тем и на сложных) посмотрим на следующие паттерны (пока без привязки к языку)
Предварительно.
По количеству участников я буду расширять этот список.
В планах:
— Одиночка
— Строитель
— Абстрактная фабрика
— Фабричный метод
— Компонент
— Фасад
— Прокси
— Стратегия
— Состояние
— Декоратор
— Наблюдатель
Часть 3. Паттерны ООП на Python
Не пытайся "писать на ООП". Это бесполезно. Для начала тебе нужно понять главное.
Ты знаешь что главное? ООП не что-то материальное.
Это концепция. И основное в ней — ты. Вместо того чтобы пытаться придумать классы и их связи, используй паттерны Гость!
Теперь, когда я заинтересовал тебя, давай объединим знания из первых двух частей курса. Ты узнаешь о простых и понятных примерах, таких как строитель пиццы и фабрика матрешек, а затем перейдем к более сложным концепциям.
Этот раздел разделен на три уровня сложности: от абстрактных примеров до жизненных и боевых сценариев, как я обычно демонстрирую это студентам в трехчасовых лекциях.
Мы рассмотрим все паттерны из второй части, на примерах кода.
Бонусы
Для получения бонусов:
— Организаторы и выше: подпись.
— Прочие участники: три рекламных поста.
В теме обязательно указывайте, что реклама выполнена, приложите ссылки на посты или укажите на подпись.
Метаклассы
Что говорят о метаклассах? Если сомневаешься, нужны ли они тебе, значит, они тебе не нужны. Однако, мы коснемся этой высшей магии Python, чтобы ты мог оценить ее ослепительное величие.
Вложенные классы
Кажется странным? Согласен. Но порой и такое приносит пользу, как тот самый уникальный котик с разноцветными глазами, у которого подписчиков больше чем у Бузовой. Расскажу, зачем они нужны, какую пользу приносят и где их можно использовать.
Декораторы
Мы детально разберем этот паттерн проектирования на Python, от концепции замыкания, до декоратора с параметрами, а так же декоратора класса и методов.
На простых, нормальных примерах, а не вот этих ваших фракталах фибоначах.
Я замкну твой мозг, сверну его в трубочку, а когда он разомкнется, ты познаешь всю прелесть использования декораторов в своем коде.
—
Это будет увлекательное приключение. И я приложу все силы, чтобы сделать самый крутой курс по ООП, который ты видел|а.
Пропустишь этот курс — и сказке конец.
Ты проснешься в своей постели, и поверишь, что это был просто сон.
Запишешься, и войдешь в страну чудес.
Я покажу тебе, насколько глубока кроличья нора. Все станет понятно. Все будет на своих местах, и выстроится в единую, красивую схему, как кружева.
Станет понятно, зачем все было нужно, потому что все будет правильно.
Квинтесенция объектно-ореинтерованного подхода. От мусорного кода, попахивающего дерьмом, до уверенных навыков кодинга и понимания паттернов проектирования за три месяца.
Херня.
Опять ты втираешь мне какую-то дичь, скажешь ты.
Но позволь тебе возразить. Сколько ты купил|а курсов по ООП? Сколько из них них ты посмотрел|а?
Видел|а ли ты там что-то большее, чем: "Вот мы создаем класс *Животное*, и класс *Котик* который от него наследуется"?
В жопу этих котиков. И животных туда же. И классы автомобиль. И класс матрешка.
Задрали!
Позволь немного остудить тебя. Котики, они действительно неплохи для объяснения концепции… Проблема этих курсов в том, что дальше котиков никто не идет.
И в итоге, у тебя кроме самых базовых примеров синтаксиса ничего не остается. А раз так, ты ничего не пишешь. Нет практики — нет навыка. И ты идешь на новую итерацию этого цикла.
И вот ты опять потерялся|лась в своих 60 функциях, в попытке внести пару простых правок в код.
А что, если я тебе скажу, что за котиками, матрешками, автомобилями кроется целый новый мир, под названием "Паттерны проектирования"?
Писать на ООП не просто приятно, это, блять, космически удобно!
И знаешь что еще более круто?
Иметь возможность легко расширять и редактировать код написанный в ООП стиле, написанный с применением паттернов.
Позволь мне провести тебя вглубь, и я покажу тебе, на сколько глубока кроличья нора!
Для кого этот курс?
Курс идеально тебе подойдет, если ты ощущаешь что функциональный стиль невпорядке.
Странная мысль. Но ее не отогнать. Она как заноза в мозгу. Как стеклянный потолок. Она сводит с ума. Ты чувствуешь ограничение функционального стиля.
Тебе тяжело поддерживать свои скрипты, тяжело их редактировать, а от идеи масштабирования ты уже давно отказался|лась…
Ты владеешь = ["База Пайтон", "Функциональный стиль", "Аннотации типов"]
Тебе хочется верить, что ООП это не про "Котиков" и хочется освоить не только базу, но и посмотреть что там дальше, за следующим поворотом.
Что в программе?
На самом деле это 3 курса в одном.
Я планировал это как три курса. Я писал программу для 3 курсов.
Но потом решил, да черт с ним.
Пусть это будет большой жирный курс по ООП. Такой курс, как люблю я. Как любишь ты, дорогой Складчик.
Часть 1. Основы ООП на Python
В этой части мы разберем базу.
Ты узнаешь про основные концепции ООП, что курили, в смысле чем в вдохновлялись создатели и почему профессионалы зачастую скептически относятся к наследованию.
Разберем такие "страшные" термины, как "Полиморфизм" и "Инкапсуляция".
Несмотря на серьёзность темы, немного времени уделим тренировке на примерах с котиками — без этого никак.
Исследуем различные виды наследования, концепцию миксинов и разберемся, как в Python разрешаются конфликты наследования.
Ты построишь надёжный фундамент, который позволит тебе развивать практические навыки на продвинутом уровне.
В рамках курса мы рассмотрим следующие темы:
- Введение в ООП: зачем оно нужно и как с его помощью решать задачи.
- Правила именования в ООП: как правильно называть классы, объекты и методы.
- Атрибуты класса и экземпляра: отличия и назначение.
- Инициализация экземпляров: ключевое слово `self`, конструкторы `__init__` и `__new__`.
- Методы экземпляра, класса и статические методы: когда и как их использовать.
- Работа с атрибутами, использование `attr` и словаря `__dict__`.
- Магические методы: обзор основных и дополнительных, их роль в Python.
- Операторы сравнения и их перегрузка через декоратор `@total_ordering`.
- Сериализация и десериализация объектов через `repr`.
- Инкапсуляция: защита данных и методов внутри класса, модификаторы доступа `protected` и `private`.
- Геттеры и сеттеры: безопасный доступ к данным.
- Полиморфизм: использование одного интерфейса для разных типов данных.
- Датаклассы в Python: автоматизация рутинных методов класса.
- Наследование: создание иерархий классов, роль функции `super`.
- Множественное и многоуровневое наследование: особенности и подходы.
- Абстрактные классы и методы: создание шаблонов для наследования.
- Разрешение конфликтов наследования: метод разрешения порядка (MRO).
- Проверка типов с помощью `isinstance()` и `issubclass()`.
- Миксины: их использование для гибкого расширения функциональности классов.
Этот курс даст тебе все необходимые знания и уверенность для работы с ООП на Python, открыв для тебя новые горизонты.
Часть 2. UML
Унифицированный язык моделирования.
Те самые блок-схемки, которые ты рисовал|ла когда-то на уроках программирования в школе. Ты вырос|ла уже давно.
И они тоже выросли.
Это стандарт. Посмотрим на основные виды диаграмм UML, а так же познакомимся с божественным PlantUML синтаксисом, код, который позволяет рендерить диаграммы.
Это позволит нам визуализировать любые, самые сложные конструкции кода.
Чем великолепен UML? Он подходит для любых процессов. Не только для кодинга. И это на самом деле могло бы стать отдельным курсом, потому что с помощью него можно выстраивать диаграммы любых процессов.
От брачного периода котиков, до сложных бизнес процессов.
Мы же, в этой части, изучим основные виды UML диаграмм, и с помощью них, познакомимся с паттернами проектирования ООП.
Эта часть будет полезна всем, кому интересен UML, PlantUML, а так же паттерны проектирования, без привязки к языку программирования.
Мы рассмотрим следующие типы диаграмм:
- Диаграмма последовательности
- Диаграмма классов
- Диаграмма компонентов
- Диаграмма деятельности
С помощью них мы на простых и понятных примерах (а за тем и на сложных) посмотрим на следующие паттерны (пока без привязки к языку)
Предварительно.
По количеству участников я буду расширять этот список.
В планах:
— Одиночка
— Строитель
— Абстрактная фабрика
— Фабричный метод
— Компонент
— Фасад
— Прокси
— Стратегия
— Состояние
— Декоратор
— Наблюдатель
Часть 3. Паттерны ООП на Python
Не пытайся "писать на ООП". Это бесполезно. Для начала тебе нужно понять главное.
Ты знаешь что главное? ООП не что-то материальное.
Это концепция. И основное в ней — ты. Вместо того чтобы пытаться придумать классы и их связи, используй паттерны Гость!
Теперь, когда я заинтересовал тебя, давай объединим знания из первых двух частей курса. Ты узнаешь о простых и понятных примерах, таких как строитель пиццы и фабрика матрешек, а затем перейдем к более сложным концепциям.
Этот раздел разделен на три уровня сложности: от абстрактных примеров до жизненных и боевых сценариев, как я обычно демонстрирую это студентам в трехчасовых лекциях.
Мы рассмотрим все паттерны из второй части, на примерах кода.
Бонусы
Для получения бонусов:
— Организаторы и выше: подпись.
— Прочие участники: три рекламных поста.
В теме обязательно указывайте, что реклама выполнена, приложите ссылки на посты или укажите на подпись.
Метаклассы
Что говорят о метаклассах? Если сомневаешься, нужны ли они тебе, значит, они тебе не нужны. Однако, мы коснемся этой высшей магии Python, чтобы ты мог оценить ее ослепительное величие.
Вложенные классы
Кажется странным? Согласен. Но порой и такое приносит пользу, как тот самый уникальный котик с разноцветными глазами, у которого подписчиков больше чем у Бузовой. Расскажу, зачем они нужны, какую пользу приносят и где их можно использовать.
Декораторы
Мы детально разберем этот паттерн проектирования на Python, от концепции замыкания, до декоратора с параметрами, а так же декоратора класса и методов.
На простых, нормальных примерах, а не вот этих ваших фракталах фибоначах.
Я замкну твой мозг, сверну его в трубочку, а когда он разомкнется, ты познаешь всю прелесть использования декораторов в своем коде.
—
Это будет увлекательное приключение. И я приложу все силы, чтобы сделать самый крутой курс по ООП, который ты видел|а.
Пропустишь этот курс — и сказке конец.
Ты проснешься в своей постели, и поверишь, что это был просто сон.
Запишешься, и войдешь в страну чудес.
Я покажу тебе, насколько глубока кроличья нора. Все станет понятно. Все будет на своих местах, и выстроится в единую, красивую схему, как кружева.
Станет понятно, зачем все было нужно, потому что все будет правильно.
Материал «Тотальный ООП на Python», возможно, скоро появится на EGROUND.
Воспользуйтесь поиском, может быть, он уже опубликован.