Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Классы, пространства имен, атрибуты Python: Введение в ООП

На прошлом уроке уже прозвучало слово "класс". Мы сравнили класс с шаблоном, по которому создаются объекты этого класса, называемые экземплярами (класса). Далее мы разберем объявление классов с точки зрения синтаксиса, но сначала стоит отметить, что каждый класс является отдельным пространством имен.

Пространство имен (namespace), это некая совокупность этих имен, в пределах которой каждое имя уникально. При этом разные пространства имен могут содержать одно и то же имя, но в разных пространствах это имя может быть связано с разными сущностями.

Уже знакомым вам примером пространств имен является модуль. В пределах модуля вы не сможете сделать два объявления с одинаковыми именами: то, что будет сделано позже, просто поменяет значение имени. Зато разные модули могут содержать элементы с одним и тем же именем.

Каждый класс также является отдельным пространством имен — имен атрибутов класса. Атрибут, это то же самое определение. В момент определения класса определяются и его атрибуты.

Кстати, элементы модуля также принято называть атрибутами, ведь модули, это тоже объекты, и у них даже есть класс.

Объявление класса

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

Объявление минимального класса выглядит так:

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

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

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

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

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

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

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

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

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