Урок 66. Основы ООП

📁 Блок: Python Fundamentals / Объектно-ориентированное программирование ⏱️ Время изучения: ~90 мин 🎯 Сложность: Средняя
#print #class #def #pass #upper #return #from #import #if #is #not #else

⚡ Кратко: суть урока

Урок знакомит с базовым объектно-ориентированным подходом в Python: учимся создавать классы, инициализировать объекты через __init__, работать с полями, методами и параметром self.

  • Класс — шаблон (чертёж), по которому создаются объекты.
  • __init__ — инициализатор начального состояния объекта.
  • self — ссылка на текущий объект, её всегда передаёт Python автоматически.

Что запомнить: ООП объединяет данные (поля) и поведение (методы) в одной сущности — объекте.

Частая ошибка: забыть self в методе или путать конструктор __new__ с инициализатором __init__.

О чём этот урок

Ранее мы писали код в функциональном стиле: данные передавались в функции, а состояние хранилось в отдельных переменных. Объектно-ориентированное программирование (ООП) предлагает другой взгляд: моделировать программу как систему взаимодействующих объектов. Каждый объект объединяет свои данные и действия, которые с ними можно выполнять.

В этом уроке мы пройдём самые основы: что такое класс и объект, как создать класс, зачем нужен метод __init__, как работает self и как вызывать методы объектов.

Что изучим

  • Что такое ООП и чем оно отличается от функционального подхода.
  • Класс как шаблон объекта и объект как конкретный экземпляр.
  • Синтаксис создания класса и правила именования (CamelCase, PEP 8).
  • Метод __init__ — инициализация полей объекта.
  • Поля, методы и атрибуты: разница терминов.
  • Параметр self — ссылка на объект.
  • Создание объектов и доступ к их полям.
  • Современные практики: аннотации типов, __repr__, dataclasses.

📚 Что повторить перед изучением

  • ← Урок 65 — Практикум 16
  • Определение функций, параметры и возвращаемые значения.
  • Переменные, области видимости и f-strings.

🎯 Что изучать дальше

  • Следующий урок в LMS — продолжение ООП (наследование, инкапсуляция, полиморфизм).
  • Попробуйте описать в виде классов объекты из своих проектов: пользователи, товары, заказы.