Язык программирования Python
Лектор: Курячий Георгий Владимирович
Время и место проведения: Пятница, 18:00, ауд. П-6. Первая встреча — 3 октабря.
Лицам, не имеющим пропуск на факультет ВМК МГУ, рекомендуется на первую лекцию принести одну матовую фотографию 3×4 и паспортные данные для оформления пропуска.
Материалы
№ |
Тема |
Лектор |
Конспект |
Запись |
Исходники |
1 |
|
||||
2 |
Логические выражения, операторы ветвления и цикла. Решение Д/З |
|
|
|
Экзамен
Для сдачи надо заранее (не менее, чем за два дня до экзамена) записаться, написав письмо с темой «Экзамен дата» по адресу <frbrgeorge@gmail.com>. Внимание: от количества записавшихся зависит количество приглашённых экзаменаторов, и, соответственно, сдающих экзамен.
- О времени и месте проведения экзамена будет объявлено дополнительно.
Темы для экзамена (см. также замечание о методах сдачи-приёмки экзамена, материалы по теме курса).
Вступительное слово
В результате обсуждения в списке рассылки в рамках воззвания я принял решение в этом учебном году «взять паузу» по части Linux и спланировать (в идеале — постоянный) спецкурс по языку программирования Python и его применению.
Для меня Python оказался в своё время настоящим открытием. Создавалось ощущение, что Гвидо планировал его по принципу «в других языках неудобно, надо сделать попроще». Основной упор в своей версии курса я постараюсь делать на вот этой простоте.
Несмотря на то, что предполагается изучать Python «с начала», я буду весьма благодарен, если на наших встречах появятся люди, у которых есть что рассказать про особенности, вкусности и прочие интересности языка.
Аннотация
Название: Язык программирования Python
Title: Python programming language
Язык программирования Python — объектно-ориентированный ЯП, сочетающий в себе простоту начального освоения, наличие современных конструкций и приёмов программирования, богатую инструментально-прикладную поддержку и огромное поле практического применения во всех отраслях знания, включая естественные и гуманитарные науки. Курс преследует цель обучить слушателей эффективному использованию языка, для достижения чего необходимо решить четыре задачи:
- по возможности всесторонне ознакомить слушателей с языком программирования,
- предоставить возможность наработки навыков программирования на языке во время решения домашних заданий,
- представить эффективные приёмы программирования на Python на примере некоторых инструментально-прикладных компонент,
- осветить современные тенденции программирования, нашедшие отражение в структуре языка, в том числе мультипарадигмальный подход при разработке программ.
В процессе изучения предполагается самостоятельная практическая работа.
По окончанию курса проходит устный экзамен, основанием для которого будет являться исходный код (по выбору) выполненных домашних заданий или семестрового проекта.
Требования к уровню знаний слушателей:
- знание алгоритмического программирования,
- умение составлять и отлаживать программы,
- представление об объектном планировании и ООП.
Тематический план курса
В скобках указаны главы учебника (имеется слегка устаревший русский перевод), используемые при подготовке лекций.
Поскольку объём тем неодинаковый, разбивка на лекции и их именование пока черновые. Кроме того, пока что вложенные пункты плана — это скорее черновик; я постараюсь по мере подготовки материалов эти пункты переносить на страницы лекций.
- Введение: история, основные свойства языка
- Условный оператор и операторы цикла
- Функции и исключения
- Структуры данных и их свойства
Структуры данных и их свойства, в т. ч. не упомянутые в (5). Выражения-конструкторы.
- Работа со строками
- Модули и пакеты
Модули и пакеты (6)
python -m
- Строки документации
- Ввод/вывод
- Потоковый (байтовые и типизированные файлы)
- Сериализация
- DB-интерфейс
- Классы: определение и использование
- Объектное планирование и объектно-ориентированные ЯП
Классы в Python 2 (9)
- Модульность и инкапсуляция
- Строки документации
- Классы: динамическая объектная модель
Наследование (9), в т. ч.
- Полиморфизм и интроспекция
- Перегрузка полей
- Декораторы
- Итераторы и генераторы
Итераторы и генераторы (9.9 и далее)
itertools и functools
- Стандартные модули
Ссылки
Наработки FrBrGeorge:
Небольшая статья про классы в Python с примерами
По-моему, была вторая серия на бумаге, но я её потерял FrBrGeorge
Доклад «Использование языка программирования Python в качестве базового при обучении специалистов» на восьмой конференции «Свободное программное обеспечение в высшей школе»
Агитка про Python, не помню уже зачем написанная, явно для госзаказчика