Трек
Для программистов
В разработке

ООП В Python

Здесь вы изучите наследование, миксины и полиморфизм типов, освоите паттерны и антипаттерны проектирования. Курсы этого трека помогут досконально разобраться в объектно-ориентированном дизайне на Python.

Начать учиться
Картинка программы ООП В Python
Самостоятельно,
в любое время
Обратная связь
по урокам от поддержки Хекслета
Неограниченный доступ
к пройденной теории
316 студентов
проходят трек прямо сейчас

Программа обучения

Уроки
  • Введение

  • Онтология

  • Точки на координатной плоскости

  • Семантика списков и словарей

  • Создание абстракции

  • Интерфейсы

  • Уровневое проектирование

  • Инварианты

  • Заключение


Чему научитесь
  • Выделять сущности предметной области и устанавливать правильные взаимоотношения между ними

  • Подбирать правильную структуру данных для хранения сущностей

  • Грамотно проектировать интерфейсы абстракций

  • Определять инварианты и следовать им

  • Правильно использовать списки и словари

Испытания
Уроки
  • Введение

  • Концепции ООП

  • Классы, пространства имен, атрибуты

  • Объекты-одиночки и глобальные переменные

  • Инстанцирование классов и экземпляры

  • Методы

  • Инициализация и протоколы

  • Свойства

  • Наследование

  • Исключения

  • Заключение


Чему научитесь
  • Грамотно использовать контекст self в зависимости от ситуации

  • Описывать сущности предметной области с помощью объектов и классов

  • Понимать, как работают объекты в Python на самом низком уровне

  • Использовать исключения в своем коде

Испытания
Уроки
  • Введение

  • Шаблоны Проектирования

  • Конфигурация

  • Изменяемая конфигурация

  • Объекты-сущности, Объекты-значения и внедренные объекты

  • Fluent Interface

  • Сборщики (Builders)

  • Пишем код правильно


Чему научитесь
  • Правильно писать и структурировать код в классовых языках.

  • Понимать, как конфигурировать код в зависимости от задачи.

  • Создавать удобные интерфейсы объектов для своей предметной области.

Испытания
Уроки
  • Введение

  • Параметрический полиморфизм

  • Диспетчеризация по ключу (данные)

  • Диспетчеризация по ключу (функции)

  • Диспетчеризация по имени файла

  • Полиморфизм (утиная типизация)

  • Null Object Pattern

  • Код, который убивает полиморфизм

  • Инверсия зависимостей

  • Стратегия (Паттерн)

  • Динамическая диспетчеризация

  • Фабрика (Паттерн)

  • Декоратор (Паттерн)

  • Шаблоны проектирования (Паттерны)

  • Объектная композиция

  • Состояние (Паттерн)

  • Множественное наследование и миксины


Чему научитесь
  • Понимать разницу между разными видами полиморфизма и решаемые ими задачи

  • Распознавать и применять шаблоны проектирования (Стратегия, Фабрика, Состояние, Декоратор, Нулл-объект и другие)

  • Использовать различные виды диспетчеризации для уменьшения и упрощения кода

Испытания
Уроки
  • О курсе

  • Наследование

  • Модификаторы доступа

  • Позднее связывание

  • Шаблонный метод

  • Переопределение методов

  • Принцип подстановки Лисков

  • Исключения

  • Динамическая диспетчеризация

  • Абстрактные классы

  • Позднее статическое связывание

  • Метаклассы

  • Композиция вместо наследования

  • Миксины


Чему научитесь
  • Грамотно выбирать между наследованием и композицией

  • Следовать принципу подстановки Лисков при построении иерархий классов

  • Уменьшать дублирование с помощью трейтов и абстрактных классов

  • Реализовывать паттерн "шаблонный метод"

  • Эффективно писать код зная как устроено ООП внутри Python

Испытания

Создание собственной библиотеки для проверки корректности (валидации) данных – отличный способ прокачать навыки проектирования кода, в особенности, объектно-ориентированной архитектуры. Создание правильных иерархий классов, глубокая работа с $this, расширяемая архитектура, применение принципов SOLID, использование fluent-интерфейса – все это предстоит делать в проекте

Подробнее

Как проходит обучение

Курс состоит из учебных модулей с уроками и проектами
  • В каждом уроке — теория, тесты на закрепление изученного и практика прямо в браузере

  • Задания проходят автоматическую проверку тестами и линтером

Теоретический материал
Мы воссоздали реальное рабочее пространство программиста. Прочувствуйте разработку «как есть» — с установкой софта, запуском кода, чтением ошибок и консольными командами
  • Вы прямо в браузере получаете доступ к виртуальной машине, редактору кода и к консоли

  • Сразу видите обратную связь по своему решению в виде тестов и их результатов

Упражнение в IDE
Проходите уроки самостоятельно в любое удобное время
  • Урок — это теория, квиз (проверочный тест) и практика

  • Учебный материал представлен в текстовом формате, иногда встречаются короткие видео

  • Практика может быть в виде упражнений в браузере, испытаний, проектов, самостоятельной работы и домашних заданий

  • Можно задавать вопросы по теории и практике уроков команде поддержки Хекслета

Тесты

Что говорят наши студенты о курсах и проектах

Спасибо за задание, почувствовал моральное удовлетворение после его решения! В целом задания в этом курсе даются очень тяжело, но конкретно это задание дало большее осмысление классов

Добрый день! Задачи из данного курса даются мне очень туго, но эту прям понравилось решать. Пришлось напрячь мозги, но было очень интересно, спасибо! )

Лучший урок в этом курсе в плане объяснений

Первый понравившийся курс за долгое время. Есть ощущение,что над ним постарались.

Добрый день! Спасибо за задание, оно было восхитительно! Получил прям удовольствие несколько раз, 1) когда решил сам через 4 точки.. 2) когда увидел и понял гениальное решения учителя)

Отличное упражнение! Всякий раз, когда смотрю в решение учителя, получаю удовольствие от простоты абстракций! В очередной раз увидел, на сколько мое решение сложнее для понимания (сразу вспоминается, о чем говорил Кирилл в лекции). Да, мне еще учиться и учиться в этом. Спасибо, Хекслет!

Советую понимать абстракцию через курс https://ru.hexlet.io/courses/python-compound-data .Странно что о таком курсе, в котором реально доходчиво объясняется, упоминается только в последнем уроке...

Решил я таки эту задачу, правда дошла до меня абстракция через прохождение дополнительного курса https://ru.hexlet.io/courses/python-compound-data Странно что о таком курсе, в котором реально доходчиво объясняется, упоминается только в последнем уроке...

Получите доступ

К этому треку и ко всем остальным курсам Хекслета по подписке за 3 900 ₽ в месяц

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Кому подойдет обучение

Тем, кто пробовал учиться на сторонних курсах, но до сих пор испытывает сложности в самостоятельном написании кода
Тем, кто умеет программировать хотя бы на одном любом языке
Тем, кто уже программирует и хочет повысить свой профессиональный уровень

Хекслет —
это серьезная подготовка инженеров-программистов

  • Топовые IT-компании обучают своих сотрудников на Хекслете

  • Весь обучающий контент создан практикующими IT-специалистами

  • Программы, направленные на системное развитие инженерного мышления

17 000+

Студентов учатся ежемесячно

4.7+ звезды
4.7+

Рейтинг на отзовиках: Otzyvmarketing

Индекс лояльности

Нашу платформу часто рекомендуют студенты

Нам доверяют обучение своих сотрудников

Контур
Kaiten
СБЕР МАРКЕТ
Bell integrator
QIWI
Agima
Авиасейлc
Альфа Банк
Uchi.ru
Райффайзенбанк
PeterService
Simtech
Itech Group
Хотите учиться от компании?

Расскажите вашему работодателю о Хекслете

Оформите подписку за 3 900 ₽ в месяц
  • Получите доступ к этому треку и ко всем остальных курсам Хекслета

  • Учитесь сколько нужно, отменить подписку можно в любой момент

  • Задавайте вопросы по урокам — вам ответит поддержка Хекслета

  • Сохраните неограниченный доступ к пройденной теории даже после отмены подписки

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Трек — это набор курсов по определенной теме для повышения квалификации и развития инженерного мышления. Треки подходят как для разработчиков с опытом, так и для новичков в качестве задания «со звёздочкой».

Вы можете учиться в своём темпе, срок обучения не ограничен.

Мы рекомендуем выделять 5-10 часов в неделю. Так с одной стороны обучение будет достаточно интенсивным, чтобы не растягивать его надолго, а с другой — достаточно комфортным, чтобы совмещать с работой и успевать отдыхать.

Материал программы — это готовые курсы с адаптированной для новичков теорией, тестами на закрепление и большим количеством практических упражнений с автоматизированной проверкой прямо в браузере. В некоторых треках есть проект — вы создадите приложение, которое станет частью вашего портфолио и даст опыт реальной разработки.

Вы можете учиться самостоятельно или вместе с наставником, он поможет разобраться в сложных моментах.

Тогда вы можете обучаться вместе с наставником.

Каждый наставник — опытный программист, который добился успехов в профессии, а теперь делится знаниями и опытом со студентами Хекслета. Кандидаты проходят строгий отбор — наставником становится лишь каждый десятый, поэтому случайных людей у нас нет.

Наставник помогает справляться с трудностями, отвечает на вопросы и делает ревью проектов.

Мы принимаем карты Visa, MasterCard и МИР любого банка, валюта счёта тоже может быть любой.

Если решите учиться самостоятельно, оформите подписку на план «Базовый». Доступ ко всем трекам откроется сразу после оплаты.

Если нужна помощь наставника, оставьте заявку на обучение. С вами свяжется куратор, подберёт подходящего наставника и пришлёт ссылку на оплату.