1 | Язык Python. Синтаксические особенности. Среда разработки JupyterLab. Применение языка программирования Python. Структура программ | 09 фев | (раздел 1.5 проработать самостоятельно) |
2 | Объект как фундаментальное понятие в Python. Встроенные типы объектов. Понятие объекта. Атрибуты. Методы. Встроенные типы числовых объектов: int, float, complex. Встроенные типы последовательностей: str, list, tuple. Встроенные типы отображения: dict. Встроенные типы множества: set. Изменяемые и неизменяемые встроенные типы объектов | 16 фев | (разделы 2.4-2.7 проработать самостоятельно) |
3 | Объект как фундаментальное понятие в Python. Встроенные типы объектов. Переменная, значение переменной, ссылка на объект. Интерфейс объектов. Выражение спискового включения. Файловый объект | 23 фев | (разделы 2.8, 2.10, 2.11, 2.12 проработать самостоятельно) |
4 | Операторы в Python. Оператор присваивания. Оператор выбора. Оператор сопоставления. Операторы цикла | 01 мар | (разделы 3.6-3.7 проработать самостоятельно) |
5 | Функция. Область видимости переменной. Определение функции: оператор def и retutn, значения по умолчанию для аргументов, произвольное количество аргументов, порядок следования аргументов. Вызов функции: позиционные и ключевые аргументы. Объект функции | 11 мар | |
6 | Функция. Область видимости переменной. Объект функции. Аннотация функции. Строки документации для функций. lambda-функция. Типы областей видимости переменной. Операторы объявления global и nonlocal | 15 мар | |
7 | Механизм итераций в Python. Итерируемый объект. Итерационный проход по элементам. Объект итератора. Итерационные инструменты. Протокол итераций. Генераторные объекты. Генераторные выражения. Генераторные функции | 22 мар, 29 мар | |
8 | Функциональное программирование в Python. Инструменты функционального программирования. Функции map, filter, enumerate, zip. Функция reduce из модуля functools. Фабричная функция, функция-замыкание, декоратор функции | 29 мар, 05 апр | (доп. материалы, А.Беленков) |
9 | Модуль в Python. Понятие модуля, пакета, расширения. Стандартная библиотека Python. Импортирование модуля. Доступ к переменным модуля. Перезагрузка модуля | 05 апр | (разделы 7.3, 7.4 проработать самостоятельно) |
10 | Основы объектно-ориентированного программирования в Python. Понятия класса и экземпляра класса. Оператор создания класса. Методы класса. Метод инициализации экземпляра класса | 12 апр | |
11 | Основы объектно-ориентированного программирования в Python. Дерево наследования. Настройка кода. Создание классов на основе встроенных типов. Перегрузка операций и встроенных функций | 19 апр, 26 апр | |
12 | Бинарное дерево поиска. Представление. Проектирование классов | 26 апр | |
13 | Бинарное дерево поиска. Построение бинарного дерева поиска. Перегрузка операции принадлежности in. Перегрузка встроенной функции len. Обходы бинарного дерева поиска. Центрированный обход. Поиск минимального и максимального значения в дереве | 02 мая | |
14 | Проектирование классов. Классовые методы. Статические методы. Атрибут-свойство. Абстрактный класс. Синглтон. Композиция. Делегирование. | 10 мая | |
15 | Пакет matplotlib для графического представления данных. Создание графических окон и графических областей. Процедурный подход для построения двумерных графиков. Объектно-ориентированный подход для построения изображений | 17 мая | |
16 | Программирование с использованием исключений. Стандартный обработчик исключений. Встроенные исключения. Перехват и обработка исключений. Генерация исключений. Диспетчер контекста | 24 мая | |
17 | Расширение numpy для численных вычислений. Тип данных массив (ndarray). Векторизация вычислений с массивами. Операции линейной алгебры | 31 мая | (разделы 13.2-13.4 проработать самостоятельно) |