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

Python для извлечения и обработки данных

2019/2020
Учебный год
RUS
Обучение ведется на русском языке
3
Кредиты

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

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

Аннотация

Дисциплина является МООС дисциплиной программы подготовки бакалавров "Приклданая математика и информатика". Дисциплина представляет собой онлайн-курс ВШЭ "Основы программирования на Python": https://www.coursera.org/learn/python-osnovy-programmirovaniya
Цель освоения дисциплины

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

  • Изучение дисциплины «Python для извлечения и обработки данных» нацелено на освоение языка программирования Python. Его задача обучить студентов основам про-граммирования на языке Python. Целью курса также является ознакомление студентов с основными принципами проектирования и анализа алгоритмов и структур данных, раз-витие навыков оценки сложности алгоритмов, их практической реализации. Предполага-ется, что в результате освоения курса студенты будут способны самостоятельно разрабо-тать и реализовать на языке программирования Python несложные алгоритмы анализа данных.
Планируемые результаты обучения

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

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

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

  • Введение в Python. Особенности и области применения языка.
    Обзор структуры курса, систем оценки. Обзор языка программирования Python. Литература, обучающие ресурсы. История языка Python. Где и кем используется язык Python. Сильные и слабые стороны языка Python. Две версии языка 2.* и 3.*. Интерпретатор языка Python: как выполняются и запускаются программы. IDE для языка Python. Zen of Python.
  • Переменные, ссылки, изменяемые и неизменяемые переменные
    Концепция неизменяемости в типах данных языка Python. Процесс создания переменных (имен). Перекрестные ссылки. Модуль dis. Списки. Литералы списков, создание списков. Базовые операции со списками: len, конкатенация, повторение, in, slicing. In-place измене-ния в списках. Методы append(), extend(), insert(), remove(), перегруженные операторы. Инструкция del. Сортировка списков. Метод sort и функция sorted(). Методы reverse(), in-dex(), count(). List comprehensions. Кортежи. Литералы кортежей, создание кортежей. . Ба-зовые операции с кортежами.
  • Сложные типы данных, пример программы
    Изменяемые типы данных. Словари. Литералы словарей, создание словарей. Базовые опе-рации со словарями: создание элемента словаря, получение по ключу, len, in. Создание, изменение записей в словарях. Инструкция del. Методы словарей: keys(), values(), items(), get(), update(), pop(). Dict comprehensions. Множества. Базовые операции с множествами. Методы add(), remove(), update(). Файлы. Функция open(). Методы write(), close(). Кон-текстные менеджеры. Bool. NoneType. Графы дружб на примере Facebook. Small-world ex-periment. Six degrees of separation. Эксперимент дружб участников майнора с известными людьми России через социальную сеть VK.
  • Оператор присваивания и условный оператор
    Подробный разбор программы по проверке дружб в социальной сети VK. Выражения и синтаксис языка Python. Различия и преимущества синтаксиса языка Python. Правила именования переменных. Присваивания. Формы присваивания. Присваивания последова-тельностей. Дополнительные формы присваивания последовательностей. Множественные присваивания. Составные операции присваивания. Условный оператор if. Имитация мно-жественного выбора в языке Python. Истинность выражений и объектов в Python. Тернарный оператор.
  • Циклы и диапазоны
    Циклы в программировании. Циклы while. Общий вид цикла while. Бесконечный цикл. Вспомогательные инструкции в циклах – break, continue, else блок. Ключевое слово break. Ключевое слово continue. Опциональный else блок. Циклы for. Общий вид цикла for. При-сваивание последовательностей в цикле for. Вложенные циклы. Функция range. Функция enumerate.
  • Функции и их переменные
    Функция как элемент программы. Функции в языке Python. Ключевое слово def. Объявле-ние функций с помощью ключевого слова def. Инструкция return. Определение функции и вызов функции. Функции как объекты. Локальные переменные. Области видимости. Пра-вило LEGB. Сокрытие имен. Ключевые слова global и nonlocal. Передача аргументов в функции. Аргументы и изменяемые объекты. Возвращение результатов функции. Позици-онные аргументы и keywords аргументы. Аргументы по умолчанию. Упаковка и распаков-ка аргументов.
  • Функциональное программирование, итераторы и генераторы
    Две популярные парадигмы программирования – функциональное программирование и объектно-ориентированное. Особенности функциональной парадигмы. Обзор элементов функционального программирования в Python. Анонимные функции в языке Python. Опе-ратор lambda. Фунция map. Фунция filter. Фунция reduce. Итераторы и генераторы. Функ-ции iter() и next(). Генераторы ключевое слово yield. Выражения-генераторы. Модуль iter-tools.
  • Объектно-ориентированное программирование
    Основы объектно-ориентированного программирования. Классы и объекты. Проектирова-ние класса. Ключевое слово class. Метод __init__(), аргумент self. Наследование. Пере-грузка операторов. Исключения в языке Python. Обзор инструкций, связанных с обработ-кой исключений. Встроенные исключения на примере IndexError. Иерархия исключений. Общий вид блока try/except. Блок finally. Инструкции raise/assert.
  • Стандартные модули
    Модуль itertools: count, cycle, chain, combinations, product, permutations. Модуль functools: partial. Модули numpy/scipy. Модуль matplotlib. Модуль nltk.
  • Типы данных языка Python.
    Обзор базовых типов данных языка Python. Функции type, dir, help. Числовые типы данных. Арифметические операторы, операторы бинарных сдвигов. Функци pow, abs, round и т.д. Работа с системами счисления. Модули для работы с числами: random, math. Сравнения. Смешивание числовых типов. Типы Decimal и Fraction. Строковый тип данных. Экранирование. Базовые операции со строками: len, slicing, in, конкатенация и повторение. Преобразования, функции ord и chr. Методы строкового типа для работы с регистром: lower(), upper(), casefold(), swapcase() и т.д.М етоды строкового типа для работы с подстроками: startswith(), endswith(), count() и т.д. Методы строкового типа для простого анализа строк: isalpha(), isnum(), islower() и т.д. Форматирование строк.
Элементы контроля

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

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

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

  • Промежуточная аттестация (1 модуль)
    0.3 * Домашние задания + 0.7 * Самостоятельная работа
Список литературы

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

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

  • Федоров Д. Ю. - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ PYTHON 2-е изд., пер. и доп. Учебное пособие для прикладного бакалавриата - М.:Издательство Юрайт - 2019 - 161с. - ISBN: 978-5-534-10971-9 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmirovanie-na-yazyke-vysokogo-urovnya-python-437489

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

  • Sarkar, D., Bali, R., & Sharma, T. (2018). Practical Machine Learning with Python : A Problem-Solver’s Guide to Building Real-World Intelligent Systems. [United States]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1667293