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

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

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


Аннотация

Курс знакомит с основами программирования на Python в Jupyter Notebook, включая функции, логические операторы и работу со строками. Рассматриваются модули, методы, списки, циклы и обработка исключений, а также структуры данных (множества, кортежи, словари). Изучаются основы ООП, работа с файлами и API, включая обработку открытых данных. Практические занятия закрепляют навыки, такие как создание модулей, обработка текста и разработка приложений.


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

В результате обучение на курсе слушатели будут
 
Знать:

  • Основы синтаксиса Python (переменные, типы данных, операторы)

  • Принципы структурного и объектно-ориентированного программирования (ООП)

  • Работу с основными структурами данных: списки, кортежи, множества, словари

  • Методы обработки строк, файлов и исключений

  • Основы взаимодействия с API и работы с открытыми данными

  • Разницу между функциями, методами и модулями

Уметь:

  • Писать чистый и эффективный код на Python

  • Создавать и использовать функции, модули и классы

  • Обрабатывать и анализировать данные (строки, CSV, JSON)

  • Работать в Jupyter Notebook (запуск, отладка, визуализация)

  • Автоматизировать задачи с помощью циклов и условий

  • Читать документацию и применять сторонние библиотеки

  • Тестировать код и обрабатывать ошибки

  • работать с модулем 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. Промежуточная аттестация