Документ взят из кэша поисковой машины. Адрес оригинального документа : http://uneex.mithril.cs.msu.su/LecturesCMC/PythonIntro2014
Дата изменения: Unknown
Дата индексирования: Sun Apr 10 03:11:28 2016
Кодировка: UTF-8
LecturesCMC/PythonIntro2014 - UNИX

Язык программирования Python

Материалы

?

Тема

Лектор

Запись
скачать все

Срок сдачи
д/з

1

История и место Python в современном мире. Командная строка

Георгий Курячий

смотреть

2

Логические выражения, операторы ветвления и цикла. Решение Д/З

Георгий Курячий

смотреть

31.10.2014 18:00

3

Стандартные типы данных и выражения-конструкторы

Георгий Курячий

смотреть

07.11.2014 18:00

4

Множества, словари, строки и функции

Георгий Курячий

смотреть

14.11.2014 18:00

5

Кодировки, исключения и генераторы

Георгий Курячий

смотреть

21.11.2014 18:00

6

Файлы, ввод-вывод и связь с ОС

Георгий Курячий

смотреть

28.11.2014 18:00

7

Модули-расширения языка

Георгий Курячий

смотреть

05.12.2014 18:00

8

Модули и классы

Георгий Курячий

смотреть

12.12.2014 18:00

9

Наследование и его украшения

Георгий Курячий

смотреть

19.12.2014 18:00

10

Декораторы, оператор with

Павел Сутырин

смотреть

11

Что дальше?

Георгий Курячий

смотреть

Экзамен

Вступительное слово

В результате обсуждения в списке рассылки в рамках воззвания я принял решение в этом учебном году ?взять паузу? по части Linux и спланировать (в идеале ? постоянный) спецкурс по языку программирования Python и его применению.

Для меня Python оказался в свое время настоящим открытием. Создавалось ощущение, что Гвидо планировал его по принципу ?в других языках неудобно, надо сделать попроще?. Основной упор в своей версии курса я постараюсь делать на вот этой простоте.

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

Аннотация

Язык программирования Python ? объектно-ориентированный ЯП, сочетающий в себе простоту начального освоения, наличие современных конструкций и приемов программирования, богатую инструментально-прикладную поддержку и огромное поле практического применения во всех отраслях знания, включая естественные и гуманитарные науки. Курс преследует цель обучить слушателей эффективному использованию языка, для достижения чего необходимо решить четыре задачи:

  1. по возможности всесторонне ознакомить слушателей с языком программирования,
  2. предоставить возможность наработки навыков программирования на языке во время решения домашних заданий,
  3. представить эффективные приемы программирования на Python на примере некоторых инструментально-прикладных компонент,
  4. осветить современные тенденции программирования, нашедшие отражение в структуре языка, в том числе мультипарадигмальный подход при разработке программ.

В процессе изучения предполагается самостоятельная практическая работа.

По окончанию курса проходит устный экзамен, основанием для которого будет являться исходный код выполненных домашних заданий или предэкзаменационного online-тестирования.

Требования к уровню знаний слушателей:

Тематический план курса

В скобках указаны главы учебника (имеется слегка устаревший русский перевод), используемые при подготовке лекций.

Поскольку объем тем неодинаковый, разбивка на лекции и их именование пока черновые. Кроме того, пока что вложенные пункты плана ? это скорее черновик; я постараюсь по мере подготовки материалов эти пункты переносить на страницы лекций.

  1. Введение: история, основные свойства языка
    • Введение: история, основные свойства языка. Работа в командной строке и ее настройка (13). Именование и видимость объектов, функция dir() (6.3). Подсистема помощи.

    • Понятие о счетчике ссылок, стандартных типах данных и свойства python на неформальных примерах (1, 2, 3)

  2. Условный оператор и операторы цикла
    • Решение домашних заданий, использование редактора. Понятие командного сценария (14). Условный оператор; нулевой объект как False; неполное вычисление (5.7). Операторы цикла и клауза else (4).

  3. Функции и исключения
    • Определение и свойства функций (4). Утиная типизация.

    • Строки документации.
    • Исключения (8)

    • Оператор with

  4. Структуры данных и их свойства
    • Структуры данных и их свойства, в т. ч. не упомянутые в (5). Выражения-конструкторы.

    • Работа со строками
  5. Модули и пакеты
    • Модули и пакеты (6)

    • python -m

    • Строки документации
  6. Ввод/вывод
    • Потоковый (байтовые и типизированные файлы)
    • Сериализация
    • DB-интерфейс
  7. Классы: определение и использование
    • Объектное планирование и объектно-ориентированные ЯП
    • Классы в Python 2 (9)

    • Модульность и инкапсуляция
    • Строки документации
  8. Классы: динамическая объектная модель
    • Наследование (9), в т. ч.

    • Полиморфизм и интроспекция
    • Перегрузка полей
      • __ ? ?защита? от перегрузки путем замены __name на __<class>_name

    • Декораторы
  9. Итераторы и генераторы
    • Итераторы и генераторы (9.9 и далее)

    • itertools и functools

  10. Стандартные модули
    • Профайлер и отладчик
    • Математика (numpy? array? /!\ )

    • Расширения семантики: weakref, collections, /!\ еще?

    • /!\ еще какие? 10 и 11)

Ссылки

Наработки FrBrGeorge:


CategoryLectures

LecturesCMC/PythonIntro2014 (последним исправлял пользователь PavelSutyrin 2015-01-22 20:37:16)