Иконка

Python. Основы программирования

Повышение квалификации, 35 ак. часов/1 месяц

Записаться на курс

Треугольник
Треугольник
Треугольник

Аннотация курса

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

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

Очное обучение проходит по расписанию в вечерние часы (18.30 – 22.00) 2 раза в неделю.

Предварительные требования

  • знания основ алгоритмизации и программирования

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

  • История возникновения PythonСтрелка вниз
    • Цель разработки языка, его возможности и особенности. Описание основных характеристик. Текущее состояние. Перспективы. ПО для запуска программ на Python. Философия языка (ZenofPython).

      Практика: установка и первоначальная настройка среды для разработки, написание и запуск простейшей программы на языке Python

  • Семантика и синтаксис языкаСтрелка вниз
    • Выражения.Правила написания кода. PEP8. Синтаксис: переменные, операторы, комментарии, ключевые слова, операции. Выражения: арифметические, отношений, логические. Условный оператор (if), циклы. Структура программы.

      Практика: разработка консольной игры с персонажем и вариантами действий.

  • Типы и структуры данныхСтрелка вниз
    • Типы данных: None, логический, числовой, строковый. Структуры данных: список, кортеж, множество, словарь. Операции по работы с ними (операторы, функции): конструирование, изменение, удаление. Слайсы. Конкатенация. Сортировка.

      Практика: реализация одного из известных алгоритмов сортировки, создание многофункционального калькулятора.

  • ФункцииСтрелка вниз
    • Понятие функции. Документирование функций. Аргументы, их виды. Передача аргументов. Упаковка и распаковка аргументов. Возврат значения из функции. Присвоение значений. Тестирование работы функции. Встроенные функции. Области видимости, изменение видимости.

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

  • Строки. ФайлыСтрелка вниз
    • Виды строк, их особенности. Многострочный блок текста. Операции со строками: конкатенация, разделение, поиск подстроки, форматирование, преобразование. Функции-предикаты для работы со строками. Спецификация формата. Виды файлов, операции с файлами (чтение, запись, добавление в файл), методы работы с файлами. Особенности ввода/вывода, стандартные потоки.

      Практика:создание псевдографического интерфейса в консоле для разработанных ранее программ (консольная игра, калькулятор).

  • Введение в ООП. МодулиСтрелка вниз
    • Основные понятия ООП (объект, класс) и их реализация. Атрибуты классов, методы, контроль доступа. Свойства класса, объекта, их изменение. Наследование классов, перегрузка методов. «Магические» методы. Использование модулей, импорт, виды, выполнение модулей. Обзор модулей стандартной библиотеки (re, string, datetime, math). Установка модулей извне.

      Практика:разработка консольной утилиты для поиска и удаления дубликатов файлов в папке.

  • Обработка исключений. ТестированиеСтрелка вниз
    • Понятие исключения, типы, иерархия исключений. Встроенные и определяемые пользователем исключения. Базовый синтаксис обработки исключений (try..except).Расширенный синтаксис (finally, else). Модульное тестирование (unittesting). Типы тестов. Тестирование с помощью print, с помощью оператора assert, с помощью специальной библиотеки doctest, использование директив.

      Практика: обеспечение стабильности в разработанных программах (тестирование и обработка исключительных ситуаций).

Преподаватели курса

Николай Жуков

Николай Жуков

к.ф-м.н, преподаватель