Тема 1. Введение в программирование на языке Python в среде Jupyter Notebook
Отличия языков программирования.
Функции в Python.
Создание функций.
Тема 2. Логические операторы и операции над строками.
Работа с текстом.
Строковый тип данных.
Функции для работы со строками.
Преобразование типов.
Срезы.
Тема 3. Модули.
Создание собственных модулей.
Загрузка модулей и вызов функций, содержащихся в модуле.
Создание собственных модулей.
Отличие запуска модуля от импортирования.
Автоматизированное тестирование функций.
Тема 4. Методы.
Специальные методы и отличие от функций.
Строковые методы в языке Python.
Отличие вызова метода от вызова функции из модуля.
Специальные строковые методы.
Практические занятия
Создание модуля для вычисления статистики
Тема 5. Списки и преобразование типов.
Синтаксические отличия в языках высокого уровня.
Правила чтения оператора присваивания.
Практические занятия
Формирование выражений с использованием математических, логических, строковых операций, приоритет операций.
Тема 6. Циклы и обработка входных данных.
Инструкция цикла for.
Обработка списков и строк.
Использование функции range.
Подходы к созданию списка: генераторы списков.
Функции высшего порядка.
Инструкция цикла while.
Бесконечный цикл.
Анонимные функции.
Вложенные циклы.
Практические занятия
Обработка списка и задачи на преобразование типов данных
Тема 7. Множества, кортежи, словари.
Множества в Python.
Операции над множествами, основные методы.
Создание множеств.
Кортежи в Python.
Операции над кортежами.
Словари.
Методы для работы со словарями.
Реализация подсчета слов и символов с помощью словарей.
Переменное число параметров.
Практические занятия
Обработка словарей и кортежей.
Тема 8. Обработка исключений и работа с файлами.
Исключения в Python.
Обработка исключений.
Использование исключений для обработки ошибок.
Чтение из файла.
Обработка ошибок при работе с файлами.
Менеджер контекста.
Методы для чтения, записи и добавления текста.
Практические занятия
Обработка текстовых файлов - копирование, поиск фразы.
Тема 9. Основы объектно-ориентированного программирования.
Понятие объекта.
Создание класса.
Объектно-ориентированный подход к программированию.
Создание методов класса.
Конструктор объекта.
Атрибуты объекта и класса.
Наследование классов.
Практические занятия
Разработка объектно-ориентированного приложения.
Тема 10. Открытые данные.
Работа с API.
Байтовый тип данных.
Кодировки.
Доступ к файлам, находящимся в сети Интернет.
Доступ к данным через API.
Практические занятия
Обработка данных, полученных с удаленного сайта.
Тема 11. Промежуточная аттестация