Python

Материал из Институт биоинформатики
Перейти к: навигация, поиск

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

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

Осенний семестр

Программа

Программа осеннего прочитанного осеннего семестра 2015:

  1. Система контроля версий git. Простой workflow работы с удалённым репозиторием: add + commit + push.[1]
    Стандартный workflow работы с репозиторием
  2. Функции в языке python. Вызов функций в языке python. Позиционные аргументы. Keyword-аргументы. Аргументы по умолчанию. Порядок аргументов.[2]
  3. Пишем код чище: pep8.[3]
  4. Модель данных. Объекты. Типы, значения и идентификаторы. Изменяемые и неизменяемые типы данных. Жизнь объекта. Стандартные типы данных. [4]
  5. Области видимости и пространства имён. [5]
  6. Введение в классы. [5]
    Введение в классы и пространства имен
  7. Работа с файлами: чтение и запись файлов. Текстовые и бинарные файлы. [6]
  8. Модули и пакеты. Установщик пакетов pip. [7]
  9. Анализ и разбор текста: регулярные выражения. Понятие шаблона и строки подходящей под шаблон. [8]
  10. Базовое представление об http-запросах и html-страницах, html-страницы -- текстовые файлы. [9]
  11. Итерация и итераторы. [10]
  12. Разбор и анализ html-документов с помощью библиотек lxml и etree. Дерево разбора. [9]

Весенний семестр

В рамках весеннего семестра будет уделено большое внимание практической части программирования на Python и рабочим моментам, с которыми могут столкнуться студенты при работе с реальными проектами. В течение курса мы ответим на вопросы “как изолировать среду выполнения своей программы?”, “как запускать скрипты в фоновом режиме на сервере?”, “как использовать python для автоматизации?”. Также будут рассмотрены библиотеки, которые используются в научной и биоинформатической работе.

Ориентировочная программа курса

Ориентировочная программа весеннего курса 2016:

  1. Ошибки и исключения. Обработка исключений. Поведение исключений на стеке вызовов.[11]
  2. Классы: наследование, наследование классов на примере ошибок и исключений. [12][11][13]
  3. Словари: hashable objects или что может быть ключом словаря.
  4. Стандартная библиотека: itertools, functools, lambda functions
  5. Стандартная библиотека: Collections
  6. Документация кода: почему, зачем и как
  7. Рабочие реалии: вызов других приложений\утилит из скрипта, библиотека subprocess
  8. Рабочие реалии: virtualenv
  9. Рабочие реалии: работа с файловой системой
  10. Рабочие реалии: исполнение кода на python в фоновом режиме, демонизация, crontab
  11. Рабочие реалии: базы данных, SQL, практика c SQLite.
  12. Пакеты NumPy, matplotlib, biopython



Материалы

Прочее

Ссылки

  1. Лекция 1, знакомство, введение в git. https://drive.google.com/open?id=1WUyWrlq7oELoJBDQQSsp2-YBScK1AFvBB547CfYK3cA
  2. Лекция 2, функции. https://drive.google.com/open?id=0B4n0ix5Fz3c-RTEwRWhfczBuMnc
  3. Лекция 3, pep8. https://drive.google.com/open?id=0B4n0ix5Fz3c-MndQRGVhX3ZQUHM
  4. Лекция 4, модель данных. https://drive.google.com/open?id=0B4n0ix5Fz3c-MXoyLWJTRXh6RDA
  5. 5,0 5,1 Лекция 5, введение в классы. https://drive.google.com/open?id=0B4n0ix5Fz3c-ODlfTzQ4dDhrZ1U
  6. Лекция 6, работа с файлами. https://drive.google.com/open?id=0B4n0ix5Fz3c-NE5tcFU0eC1NVVk
  7. Лекция 7, Модули и пакеты, установщик pip. https://drive.google.com/open?id=0B4n0ix5Fz3c-Vk9KYWNjdjlPeUk
  8. Лекция 8, Регулярные выражения. https://drive.google.com/open?id=0B4n0ix5Fz3c-ci1zOFhtSmRMaU0
  9. 9,0 9,1 Лекция 9, http-запросы и html-страницы. https://drive.google.com/open?id=0B4n0ix5Fz3c-aVVqVVBiNG5Tcm8
  10. Лекция 10, итераторы. https://drive.google.com/open?id=0B4n0ix5Fz3c-TmhkUW1CQTdFMlE
  11. 11,0 11,1 Исключения, python docs https://docs.python.org/3/library/exceptions.html
  12. Классы и наследование https://docs.python.org/3.5/tutorial/classes.html
  13. Поиск в глубину https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B8%D1%81%D0%BA_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83