• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Программирование на Python

2022/2023
Учебный год
RUS
Обучение ведется на русском языке
3
Кредиты
Статус:
Курс обязательный
Когда читается:
2-й курс, 1, 2 модуль

Преподаватель

Программа дисциплины

Аннотация

Язык программирования Python является одним из самых популярных языков современности. Python используется для написания кода в самых разных сферах, например, в бэкенд-разработке, анализе данных и машинном обучении. Это обусловлено простотой языка и обширной экосистемой. В курсе будет рассмотрен синтаксис языка, основные структуры данных, основы ООП и показаны некоторые применения языка Python.
Цель освоения дисциплины

Цель освоения дисциплины

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

Планируемые результаты обучения

  • Знать основные структуры данных в Python, сложность выполнения операций при работе с ними
  • Знать синтаксис языка Python, основные типы
  • Иметь навыки работы со сторонними библиотеками, уметь быстро разбираться в API и создавать MVP
  • Понимать основы многопоточности и уметь работать с реализацией этой идеи в языке Python
  • Уметь работать со стандартной библиотекой языка, знать основные модули
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Немного об истории. Hello, world! Понятие переменной, целочисленная арифметика. Представление целых чисел в памяти компьютера. Битовые операции. Питон как простейший калькулятор. Команда id. Модель copy-on-write. Операторы сравнения, присваивания. Правила именования переменных.
  • Логический тип. None. Условный оператор. Ленивые вычисления. Понятие приоритета операций. Закон де Моргана. Вложенные условия, базовое определение области видимости переменной
  • Цикл while. Использование break, continue, else. Вещественные числа. Представление вещественных чисел в памяти компьютера. Сравнение вещественных чисел. Строки. Сравнение строк, их обозначение.
  • Списки и строки. Изменяемые и неизменяемые типы. Срезы, индексы, операции над строками и списками (методы). Форматирование строк. Кортежи. Хранение массивов в памяти компьютера (и динамических массивов соответственно)
  • Функции. Передача параметров в функцию. Глобальные и локальные переменные. Вложенные функции. Рекурсия. functools.partial. Функции all и any. Понятие стека вызовов. Декораторы, параметрические декораторы
  • Цикл for. Инструкция range. range в Python2. Генераторы. List comprehension. Понятие iterable-объекта. Лямбда-функции. Итераторы. Основы обработки ошибок
  • Словари и множества. Понятие хэша, хэштаблицы, методы разрешения коллизий. Модуль collections, обзор структур данных.
  • Основы функционального программирования. Сортировки. Бинарный поиск.
  • Основы ООП. Классы, объекты, атрибуты, методы. Понятие конструктора, callable. Основные magic(dunder)-методы. Статические методы, методы класса.
  • Наследование. Множественное наследование. Композиция классов. Абстрактные классы. Декораторы классов.
  • Исключения. Обработка исключений. Пользовательские исключения. Контекстные менеджеры. Класс-итератор. Устройство базовых протоколов HTTP
  • Основы многопоточности и асинхронности. Понятия процесса, потока. Описание клиент-серверной архитектуры.
  • Система модулей языка Python. Утилита pip. Использование виртуального окружения. Модуль argparse. Устройство CPython.
Элементы контроля

Элементы контроля

  • неблокирующий Аудиторные занятия
  • неблокирующий Домашняя работа
  • неблокирующий Экзамен
Промежуточная аттестация

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

  • 2022/2023 учебный год 2 модуль
    0.2 * Аудиторные занятия + 0.2 * Домашняя работа + 0.2 * Экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • Лучано, Р. Python. К вершинам мастерства / Р. Лучано , перевод с английского А. А. Слинкин. — Москва : ДМК Пресс, 2016. — 768 с. — ISBN 978-5-97060-384-0. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/93273 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Рекомендуемая дополнительная литература

  • Eric Matthes. (2019). Python Crash Course, 2nd Edition : A Hands-On, Project-Based Introduction to Programming: Vol. 2nd edition. No Starch Press.