+7 (812) 703-02-02 info@hse.spbstu.ru

PDA-100. Основы программирования на языке Python

Длительность дисциплины: 40 ак.ч.


Аннотация

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

Знания и умения, полученные в результате изучения

В результате обучение на курсе слушатели будут
 
Знать:
  • основные синтаксические конструкции и особенности языка Python;
  • типы данных, поддерживаемые языком Python;
  • возможности встроенных модулей языка Python;
  • базовые понятия объектно-ориентированного программирования.
Уметь:
  • использовать Jupyter Lab, использование системного командного процессора;
  • оперировать со стандартными типами данных Python;
  • создавать функции;
  • обрабатывать открытые данные с помощью стандартных модулей Python;
  • работать с модулем requests.
Иметь навыки:
  • работы со стандартными типами данных Python;
  • работы с модулем requests;
  • обрабатывать открытые данные с помощью стандартных модулей Python.

Содержание дисциплины

Тема 1. Введение в программирование на языке Python в среде Jupyter Notebook
Отличия языков программирования. 
Функции в Python. 
Создание функций.
 
Тема 2. Логические операторы и операции над строками.
Работа с текстом. 
Строковый тип данных. 
Функции для работы со строками. 
Преобразование типов. 
Срезы.

Тема 3. Модули.
Создание собственных модулей. 
Загрузка модулей и вызов функций, содержащихся в модуле. 
Создание собственных модулей. 
Отличие запуска модуля от импортирования. 
Автоматизированное тестирование функций.

Тема 4. Методы.
Специальные методы и отличие от функций. 
Строковые методы в языке Python. 
Отличие вызова метода от вызова функции из модуля. 
Специальные строковые методы.
Практические занятия
Создание модуля для вычисления статистики

Тема 5. Списки и преобразование типов.
Синтаксические отличия в языках высокого уровня. 
Правила чтения оператора присваивания.
Практические занятия
Формирование выражений с использованием математических, логических, строковых операций, приоритет операций.

Тема 6. Циклы и обработка входных данных.
Инструкция цикла for. 
Обработка списков и строк. 
Использование функции range. 
Подходы к созданию списка: генераторы списков. 
Функции высшего порядка. 
Инструкция цикла while. 
Бесконечный цикл. 
Анонимные функции. 
Вложенные циклы.
Практические занятия
Обработка списка и задачи на преобразование типов данных

Тема 7. Множества, кортежи, словари.
Множества в Python. 
Операции над множествами, основные методы. 
Создание множеств. 
Кортежи в Python. 
Операции над кортежами. 
Словари. 
Методы для работы со словарями. 
Реализация подсчета слов и символов с помощью словарей. 
Переменное число параметров.
Практические занятия
Обработка словарей и кортежей.

Тема 8. Обработка исключений и работа с файлами.
Исключения в Python. 
Обработка исключений. 
Использование исключений для обработки ошибок. 
Чтение из файла. 
Обработка ошибок при работе с файлами. 
Менеджер контекста. 
Методы для чтения, записи и добавления текста.
Практические занятия
Обработка текстовых файлов - копирование, поиск фразы.

Тема 9. Основы объектно-ориентированного программирования.
Понятие объекта. 
Создание класса. 
Объектно-ориентированный подход к программированию. 
Создание методов класса. 
Конструктор объекта. 
Атрибуты объекта и класса. 
Наследование классов.
Практические занятия
Разработка объектно-ориентированного приложения.

Тема 10. Открытые данные.
Работа с API. 
Байтовый тип данных. 
Кодировки. 
Доступ к файлам, находящимся в сети Интернет. 
Доступ к данным через API.
Практические занятия
Обработка данных, полученных с удаленного сайта.

Тема 11. Промежуточная аттестация