Программирование на Python: Продвинутый уровень
Слушатели, уже знакомые с основами программирования на языке Python, изучат в этом курсе более продвинутые инструменты, библиотеки и возможности языка: блокноты Jupyter (IPython Notebook), Модуль Collections, операции map и filter (отображение и фильтрация), lambda-функции, продвинутые возможности сортировки, работу с регулярными выражениями (regular expressions), работу с базами данных , файлами в формате CSV, JSON и XML; средства объектно-ориентированного программирования в Python; средствами отладки и тестирования программ, а также познакомятся с поддержкой в Python различных кодировок текста, в том числе Unicode.
После изучения курса вы сможете:
- Применять среду и блокноты Jupyter (IPython notebooks).
- Использовать Модуль Collections.
- Использовать возможности функционального программирования: lambda-выражения.
- Применять функции к каждому элементу коллекции (map), отбирать элементы по условию (filter).
- Использовать продвинутые возможности функций сортировки.
- Искать и вычленять нужные элементы текста при помощи регулярных выражений.
- Работать с базами данных.
- Работать с данными в текстовых файлах в форматах CSV, JSON и XML.
- Писать программы, используя объектно-ориентированный стиль программирования.
- Тестировать корректность работы своих программ.
- Использовать отладку для поиска логических ошибок в своих программах.
- Работать с различными кодировками текста, включая кодировки Unicode.
Содержание курса.
Модуль 1: Тетради Jupyter (IPython notebooks).
- Введение в IPython notebook.
- Упрощенный язык разметки markdown.
- «Магические» команды (magic commands).
- Получение сведений из справочной системы.
Модуль 2: Продвинутые возможности Python для работы с коллекциями.
- Продвинутые списковые включения (list comprehensions).
- Модуль collections.
- Отображение и фильтрация.
- Lambda-функции.
- Изменяемые (mutable) и неизменяемые (immutable) объекты встроенных типов.
- Сортировка.
- Модули и пакеты.
Модуль 3: Регулярные выражения (regular expressions).
- Синтаксис регулярных выражений.
- Использование регулярных выражений.
- Ссылки на группы (backreference).
- Средства Python для поддержки регулярных выражений.
Модуль 4: Работа с данными: базы данных, файлы CSV, JSON, XML.
- Реляционные базы данных.
- Документ PEP 0249: Интерфейс программиста (API) Python для работы с базами данных (версия 2.0).
- Модуль PyMySQL.
- Возвращение словарей (dictionary) вместо кортежей (tuple).
- sqlite3
- Передача параметров.
- Размещение базы данных SQLite в памяти.
- Выполнение нескольких запросов сразу.
- Текстовые файлы с разделителями (CSV-comma separated values).
- Получение данных с веб-сайтов.
Модуль 5: Классы и объекты.
- Атрибуты.
- Поведение объектов.
- Понимание отличия классов от объектов. Создание своих собственных классов.
- Атрибуты и методы.
- Приватные атрибуты.
- Свойства (properties).
- Снабжение классов документацией.
- Наследование.
Модуль 6: Тестирование и отладка.
- Тестирование производительности (performance).
- Модуль unittest.
Модуль 7: Кодироeвки и Unicode.
- Биты и байты.
- Шестнадцатеричные числа.
- Кодировки.
Слушатели:
Разработчики, администраторы операционных сетей и баз данных, аналитики данных, имеющие предварительный опыт программирования.
Предварительная подготовка
Для эффективного обучения на курсе, слушатели должны обладать следующими знаниями и навыками: уметь использовать управляющие конструкции: циклы, условные операции; коллекции: списки словари, кортежи; строковые операции; операции с датой и временем; определение и использование функций, задавать обработку исключительных ситуаций (exceptions), обработка файлов.