Python
Весенний семестр
(17 фев) Оргсобрание и декораторы на одном простом примере.
(20 фев) Основные принципы TCP/IP
- (27 фев) Работа с сетью на низком уровне в Python
- (12 мар) Анонс предстоящих тем
- (19 мар) Функциональное программирование и лямбда-исчисление.
(26 мар) Функциональное программирование в питоне
- (2 апр) Вкусности работы в mercurial. Редактирование истории.
(9 апр) "Грамотное программирование", PyLit, re-structured text.
- (16 апр) не состоялось
(28 апр) Работа с выравниваниями в allpy. А также: ipython, os.system.
- (5 мая) Информационное право. Свободные лицензии.
Осенний семестр
Дополнительное про графические интерфейсы. (разгрузочное занятие)
Инструменты для отслеживания ошибок. Самодокументация. Тесты.
Недостающие типы данных: dict, tuple, set. Итераторы. Issue-tracker.
Ведомость по домашним заданиям
Полезные ссылки
У курса имеется список рассылки.
Страницы занятий предыдущих лет
Официальный сайт питона
http://python.org – отсюда питон скачивать
http://docs.python.org – стандартная документация; под подушкой держать ссылку Library reference
Книги по питону
http://python.ru/ : http://www.python.ru/files/book-ods.pdf – стандартное введение
Р. Сузи – очень кратко о языке, очень подробно о стандартной библиотеке
Марк Лутз – с другого конца, но выглядит осмысленно
Перевод The Chaming Python на русский: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
Про Mercurial
http://mercurial.selenic.com/ – официальный сайт Mercurial
http://hgbook.red-bean.com/ – очень хорошая книга про Mercurial
http://mercurial.selenic.com/wiki/RussianTutorial – Русский текст про mercurial, советует Паша Синицын.
Список тем
- (Паша) создание веб-сайтов: django или webpy или zope или twisted + TAL или gears или ...
- (Стёпа) Работа с базами данных в питоне: объектными (zodb, ...), реляционными (sqlalchemy, sqlite, mysql, pgsql, ...), оптимизация баз данных (memcached, nodb, ...)
- (Миша) как сделать программу, которая каждому пользователю показывает интерфейс на его родном языке: локализация; кодировки в питоне
- как делать программы/модули/пакеты, которые легко устанавливать; центральный репозиторий питонских пакетов; как из него устанавливать пакеты, как отсылать свои пакеты в него: distutils (или setuputils); eggs; pypi; easy_install, pip
Подробнее о тестировании. Хитрости doctest. UnitTest.
- системы помощи в создании документации к большому проекту (автоматически, полуавтоматически или даже совсем вручную): sphinx или epydoc или doxygen; reStructuredText
- альтернативные реализации интерпретатора питона, их дополнительные возможности (примеры), состояние реализации и пригодность к использованию (pypy, jython, iron python, unladen swallow, stackless python)
следующая версия языка – python 3: что нового хорошего, что плохого, когда им стоит и когда им не стоит пользоваться
- способ ускорения кусков программ: путём переписывания на близко родственный питону компилируемый язык cython
- взаимодействие с другими языками (java, C)
- как одной строкой делать могучие преобразования списков: list comprehensions; встроенные функции map, reduce, all, any (reversed, sorted, zip, max, min)
функции высшего порядка; замыкания; lambda
- работа с данными в формате excel (например, таблицы с разноцветными ячейками)
- работа с веб-камерой: python-opencv
- Библиотеки для филогении: dendropy, biopython (Bio.Phy)
- Работа с биологическими базами данных в питоне
То, что было в прошлом году:
- Конструкция with. Контейнеры: генераторы, итераторы, протоколы контейнеров.
- Объектная модель питона: наследование; staticmethod, classmethod; множественное наследование; super
- Работа со строками: регулярные выражения; str и repr
- Библиотеки для работы со структурами: biopython (Bio.PDB), python-scientific, python-openbabel.
- Линейная алгебра: numpy
- Параллельное программирование в питоне
- Использование питона в pymol: модель данных; плугины; скрипты; использование прямо из командной строки pymol