Зарегистрируйтесь, чтобы продолжить обучение

Введение Python: Абстракция с помощью данных

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

Другой пример — функции высших порядков, такие как map и filter. С их помощью можно обрабатывать коллекции и не знать, как они устроены внутри. Причем коллекция необязательно должна быть плоской. Подобные функции можно написать для большого количества сложных структур, например, для деревьев.

Абстракция с помощью функций помогает сосредоточиться на самой обработке, а не на процессе обхода данных.

Также у самих данных нередко бывает сложная структура. Чтобы представить пользователя в нетривиальной системе, может потребоваться описание десятков и сотен различных параметров и данных, которые связаны с ними. В этой ситуации полезно спрятать сложную структуру за набором функций. Такие функции скрывают внутреннюю сложность и упрощают поддержку кода. Подобное сокрытие деталей реализации и называется абстракцией с помощью данных.

В этом курсе мы познакомимся с базовыми принципами проектирования программ. Мы узнаем, как моделировать и представлять в программе объекты реального и воображаемого мира. Мы создадим библиотеку для работы с графическими примитивами: точками, отрезками, фигурами. Эта библиотека с визуальной стороны будет понятна всем, и просто представляется в коде.

Какие темы будем изучать

На этом курсе мы изучим следующие темы:

  • Предметная область — Domain Model
  • Онтология
  • Уровни проектирования — барьеры абстракции
  • Инвариант

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Для полного доступа к курсу нужен базовый план

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

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 26 декабря

Используйте Хекслет по-максимуму!

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

Зарегистрируйтесь или войдите в свой аккаунт

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

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