О курсе
На начальных этапах разработки, когда проект невелик по объему, вполне допустимо и даже эффективно использовать базовые инструменты: переменные, списки, словари и функции. Такой процедурный подход позволяет быстро решать поставленные задачи без излишней абстракции.
Однако по мере масштабирования проекта наступает момент, когда его размеры начинают мешать: код разрастается, связи усложняются, и возникает потребность в структуре принципиально иного качества.
На этом перепутье у вас есть два пути. Первый – начать самостоятельно структурировать и оптимизировать написанное, вводя новые абстракции и сущности. Если двигаться по этому пути целенаправленно и достаточно долго, рано или поздно вы создадите нечто, что будет отдалённо напоминать концепции объектно-ориентированного программирования. По сути, вы изобретёте велосипед. Но это долгий, трудоёмкий и во многом повторный путь.
Второй путь – взять уже готовые чертежи и внимательно изучить конструкцию. Именно так мы и поступим в рамках этого курса: мы не будем изобретать заново, а глубоко и основательно разберём «чертежи велосипеда» – то есть детально погрузимся в тонкости объектно-ориентированного подхода в языке Python.
Важно сразу развеять одно распространённое заблуждение. Объектно-ориентированная парадигма в Python – это не набор запутанных и избыточных «фич». Напротив, это стройная система логичных механизмов и практических приёмов, предназначенная для создания действительно крупных программных конструкций.
Да, со стороны ООП может казаться сложным. Но именно эту кажущуюся сложность мы и будем распутывать в курсе: шаг за шагом разберём механизм на составляющие, поймём логику его работы и увидим, как части собираются в единую элегантную систему.
Начальные требования
Базовое знание Python (функции, циклы, условия).
Наши преподаватели
Программа курса
Сертификат
Что вы получаете
- Глубокое понимание ООП в Python – от классов и наследования до магических методов и внутренних механизмов.
- Фундамент для сложных библиотек и фреймворков – понимание ООП упрощает работу с любыми крупными Python-библиотеками.
- Навыки проектирования поддерживаемых решений – научитесь строить классы и архитектуру программ, которая легко масштабируется.
- Контроль над поведением объектов – вы сможете переопределять операции, реализовывать итераторы, работать с контейнерами и хешируемыми объектами.