Объектноориентированное програмирование на Python

О чем это курс

В курсе изучается объектно-ориентированный язык программирования Python. Вопросы курса рассматриваются  на примере  разработки графических приложенийп для компьтера в среде Tkinter  и на примере разработки веб-приложений в среде Flask

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

Для кого предназначен курс

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

Программа курса

Классы и объекты

Ты узнаешь:

Понятие объекта и его класса, атрибуты и методы
Указатель на свой объект в методах
Специальные методы классов
Перегрузка операторов
Различие атрибутов класса и экземпляра


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

Ты узнаешь:

Понятие наследования, когда применять
Переопределение методов и атрибутов
Множественное наследование
Стандартные объекты Python

Организация взаимодействия объектов

Способы связи объектов

Агрегация и классы агрегаторы

Композиция и почему она лучше наследования

Как отделить даннные и действия, классы - источники данных и классы-агенты

Итераторы

Ты узнаешь:

Что такое итераторы и заем они нужны

Как написать итератор

Как применять итераторы

Какие библиотеки итераторов существуют

Декораторы

Ты узнаешь:

Что такое декораторы и заем они нужны

Как написать декоратор

Как применять декораторы

Генераторы

Ты узнаешь:

Что такое генераторы и зачем они нужны

Что такое генераторное выражение

Как написать генератор

Как применять генераторы и генераторные выражения

Результат обучения

Вы научитесь как от общей формулировки задачи перейти к техническому заданию на разраблтку программы. Конкретно:

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

По окончании курса вы разработаете графическую программу или сайт.