Введение в объектно-ориентированное программирование (ООП) на Python

Элективный курс по информатике "Введение в объектно-ориентированное программирование на Python" представляет собой вводный курс, знакомящий с особенностями ООП (классах, объектах, наследовании, полиморфизме и др.).

Место курса "Введение в объектно-ориентированное программирование на Python" в составе образовательной программы дополнительного образования детей "Лаборатория юного линуксоида" — второй год обучения.

Курс рассчитан примерно на 12 часов.

Цели и задачи курса

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

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

В данном курсе сначала вводятся понятия класса и объекта, потом, постепенно, рассматриваются вопросы наследования, полиморфизма и др. При этом далеко не абсрактно, а на конкретных примерах. И только на предпоследнем уроке конкретизируются основные идеи объектно-ориентированного программирования.

Что касается инкапсуляции, то в python ее как таковой нет. По сути то, что есть – это не совсем инкапсуляция; вводить сложное понятие, которое в данном случае еще и немного другое – достаточно трудно. Поэтому урок про инкапсуляцию в элективном курсе опущен.

PDF-версия

Здравствуйте, а вы могли бы сделать PDF-ку для ООП и GUI?

Это долго и в курсе много

Это долго и в курсе много недочетов, так что пока делать не буду.

Пожелание

Отличный урок! Единственное пожелание: хотелось-бы иметь урок в PDF для печати. Ну и не очень понятно что примеры написаны под python3, видел несколько вопросов здесь по этому поводу.
Спасибо огромное.

Пропушен урок #6

Большое спасибо за уроки.
Почему нет урока под номером 6?

Это должен был быть урок про

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

в питоне есть и нужна

в питоне есть и нужна инкапсуляция.
не вводите в заблуждение.

Python ООП Паттерны

хоть это и для начинающих, хорошо бы все-таки добавить и про паттерны проектирования с учетом Питона, и связки UML-Python