Опубликован: 22.12.2005 | Доступ: свободный | Студентов: 11444 / 298 | Оценка: 4.18 / 3.71 | Длительность: 16:16:00
ISBN: 978-5-9556-0109-0
Язык программирования Python Изучается язык программирования Python, его основные библиотеки и некоторые приложения.
Курс посвящен одному из бурно развивающихся и популярных в настоящее время сценарных языков программирования - Python. Язык Python позволяет быстро создавать как прототипы программных систем, так и сами программные системы, помогает в интеграции программного обеспечения для решения производственных задач. Python имеет богатую стандартную библиотеку и большое количество модулей расширения практически для всех нужд отрасли информационных технологий. Благодаря ясному синтаксису изучение языка не составляет большой проблемы. Написанные на нем программы получаются структурированными по форме, и в них легко проследить логику работы. На примере языка Python рассматриваются такие важные понятия как: объектно-ориентированное программирование, функциональное программирование, событийно-управляемые программы (GUI-приложения), форматы представления данных (Unicode, XML и т.п.). Возможность диалогового режима работы интерпретатора Python позволяет существенно сократить время изучения самого языка и перейти к решению задач в соответствующих предметных областях. Python свободно доступен для многих платформ, а написанные на нем программы обычно переносимы между платформами без изменений. Это обстоятельство позволяет применять для изучения языка любую имеющуюся аппаратную платформу.
Цель: Практически ознакомиться с технологией Python и основами ее использования в различных приложениях.
Необходимые знания: Умение программировать на императивном языке программирования.

План занятий

ЗанятиеЗаголовок <<Дата изучения
Лекция 1
1 час 10 минут
-
Тест 1
21 минута
-
Лекция 2
1 час 8 минут
Основные стандартные модули Python
Лекция знакомит с наиболее важными модулями и пакетами стандартных библиотек Python в мере, достаточной для свободного ориентирования в них.
Оглавление
-
Тест 2
18 минут
-
Лекция 3
49 минут
Элементы функционального программирования
Эта лекция может показаться необычной для того, кто использует императивные языки программирования (вроде Pascal, C++ или Java). Тем не менее, функциональный подход дает программисту мощные средства, позволяя создавать не только более компактный, но и более устойчивый к ошибкам программный код. Совсем не обязательно писать с помощью Python чисто функциональные программы, но необходимо научиться видеть, где элементы функционального программирования принесут максимальный эффект.
-
Тест 3
18 минут
-
Лекция 4
1 час 8 минут
Объектно-ориентированное программирование
Язык Python имеет достаточно мощную, но, вместе с тем, самобытную поддержку объектно-ориентированного программирования. В этой лекции ООП представляется без лишних формальностей. Работа с Python убеждает, что писать программы в объектно-ориентированном стиле не только просто, но и приятно.
-
Тест 4
21 минута
-
Лекция 5
49 минут
-
Тест 5
15 минут
-
Лекция 6
59 минут
-
Тест 6
21 минута
-
Лекция 7
48 минут
Работа с данными в различных форматах
Работа с современными форматами данных - одно из сильных мест стандартной библиотеки Python. В этой лекции будут рассмотрены типичные для Python подходы к чтению, преобразованию и записи информации в требуемых форматах. В настоящее время разработано и доступно в Интернете большое количество модулей для всевозможных форматов данных.
-
Тест 7
18 минут
-
Лекция 8
41 минута
Разработка Web-приложений
Одна из главных сфер применения языка Python - web-приложения - представляется в этой лекции на конкретных примерах. Кроме того, делается акцент на типичных слабых местах безопасности web-приложений.
-
Тест 8
15 минут
-
Лекция 9
55 минут
Сетевые приложения на Python
В этой лекции рассматривается реализация на Python простейшего клиент-серверного приложения, дается представление о типичном для сети Internet приложении. Стандартная библиотека Python имеет несколько модулей для работы с различными протоколами. Этими модулями охватываются как низкоуровневые протоколы (TCP/IP, UDP/IP), так и высокоуровневые (HTTP, FTP, SMTP, POP3, IMAP, NNTP, ...). Здесь будет рассмотрена работа с сокетами (модуль socket) и три модуля высокоуровневых протоколов (urllib2, poplib, smtplib). При этом предполагается, что имеется понимание принципов работы IP-сети и некоторых ее сервисов, а также представление о системе WWW.
-
Тест 9
15 минут
-
Лекция 10
42 минуты
-
Тест 10
12 минут
-
Лекция 11
42 минуты
Многопоточные вычисления
В этой лекции рассматриваются вопросы взаимодействия потоков (нитей) в рамках одной программы. Вводятся основные понятия (семафоры, очереди, блокировки). Делается попытка объяснить особенности параллельного программирования на основе модели многопоточности.
-
Тест 11
15 минут
-
Лекция 12
53 минуты
Создание приложений с графическим интерфейсом пользователя
В этой лекции рассматривается создание простейшего приложения с графическим интерфейсом пользователя. Для построения интерфейса не применяются визуальные средства ("построители интерфейса"), а используются возможности графической библиотеки виджетов (Tk).
-
Тест 12
12 минут
-
Лекция 13
53 минуты
Интеграция Python с другими языками программирования
В этой лекции рассматривается встраивание (embedding) интерпретатора Python в программу на C, и, наоборот, написание модулей для Python на языке C (extending). Кратко описывается инструмент для связывания C-библиотек с программами на Python (SWIG). Дается обзор связок языка Python с другими языками программирования: C++, Java, OCaml, Prolog. Коротко говорится о специальном языке для написания модулей расширения Python - Pyrex.
-
Тест 13
9 минут
-
Лекция 14
1 час
Устройство интерпретатора языка Python
В этой лекции сделана попытка пролить свет на внутреннее устройство интерпретатора Python. Для иллюстрации работы интерпретатора рассматриваются отладчик, профайлер и "дизассемблер".
-
Тест 14
9 минут
-
Александр Куров
Александр Куров
Изучает лекцию: 3
Пройден тест: 2
Леонид Фишкис
Леонид Фишкис
Изучает лекцию: 3
Пройден тест: 2
Михайло Смолинский
Михайло Смолинский
Роман Демещенко
Роман Демещенко
def appender(what, how_many, where=[]):
where = where or []
if how_many == 0:
return where
else:
return appender(what, how_many - 1, where.append(what))

print(appender(6, 3))
# результат: []
# "ожидаемый" результат: [6, 6, 6]
Михайло Смолинский
Михайло Смолинский
Здравствуйте! Подскажите, какой версии python соответствуют синтаксис примеров в лекциях?
Богдан Бенецький
Богдан Бенецький
def appender(what, how_many, where=[]):
if how_many == 0:
return where
else:
where.append(what)
return appender(what, how_many - 1, where)