Опубликован: 22.12.2005 | Доступ: свободный | Студентов: 12172 / 334 | Оценка: 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
-
Лекция 2
Основные стандартные модули Python
Лекция знакомит с наиболее важными модулями и пакетами стандартных библиотек Python в мере, достаточной для свободного ориентирования в них.
Оглавление
-
Тест 2
-
Лекция 3
Элементы функционального программирования
Эта лекция может показаться необычной для того, кто использует императивные языки программирования (вроде Pascal, C++ или Java). Тем не менее, функциональный подход дает программисту мощные средства, позволяя создавать не только более компактный, но и более устойчивый к ошибкам программный код. Совсем не обязательно писать с помощью Python чисто функциональные программы, но необходимо научиться видеть, где элементы функционального программирования принесут максимальный эффект.
-
Тест 3
-
Лекция 4
Объектно-ориентированное программирование
Язык Python имеет достаточно мощную, но, вместе с тем, самобытную поддержку объектно-ориентированного программирования. В этой лекции ООП представляется без лишних формальностей. Работа с Python убеждает, что писать программы в объектно-ориентированном стиле не только просто, но и приятно.
-
Тест 4
-
Лекция 5
-
Тест 5
-
Лекция 6
-
Тест 6
-
Лекция 7
Работа с данными в различных форматах
Работа с современными форматами данных - одно из сильных мест стандартной библиотеки Python. В этой лекции будут рассмотрены типичные для Python подходы к чтению, преобразованию и записи информации в требуемых форматах. В настоящее время разработано и доступно в Интернете большое количество модулей для всевозможных форматов данных.
-
Тест 7
-
Лекция 8
Разработка Web-приложений
Одна из главных сфер применения языка Python - web-приложения - представляется в этой лекции на конкретных примерах. Кроме того, делается акцент на типичных слабых местах безопасности web-приложений.
-
Тест 8
-
Лекция 9
Сетевые приложения на Python
В этой лекции рассматривается реализация на Python простейшего клиент-серверного приложения, дается представление о типичном для сети Internet приложении. Стандартная библиотека Python имеет несколько модулей для работы с различными протоколами. Этими модулями охватываются как низкоуровневые протоколы (TCP/IP, UDP/IP), так и высокоуровневые (HTTP, FTP, SMTP, POP3, IMAP, NNTP, ...). Здесь будет рассмотрена работа с сокетами (модуль socket) и три модуля высокоуровневых протоколов (urllib2, poplib, smtplib). При этом предполагается, что имеется понимание принципов работы IP-сети и некоторых ее сервисов, а также представление о системе WWW.
-
Тест 9
-
Лекция 10
-
Тест 10
-
Лекция 11
Многопоточные вычисления
В этой лекции рассматриваются вопросы взаимодействия потоков (нитей) в рамках одной программы. Вводятся основные понятия (семафоры, очереди, блокировки). Делается попытка объяснить особенности параллельного программирования на основе модели многопоточности.
-
Тест 11
-
Лекция 12
Создание приложений с графическим интерфейсом пользователя
В этой лекции рассматривается создание простейшего приложения с графическим интерфейсом пользователя. Для построения интерфейса не применяются визуальные средства ("построители интерфейса"), а используются возможности графической библиотеки виджетов (Tk).
-
Тест 12
-
Лекция 13
Интеграция Python с другими языками программирования
В этой лекции рассматривается встраивание (embedding) интерпретатора Python в программу на C, и, наоборот, написание модулей для Python на языке C (extending). Кратко описывается инструмент для связывания C-библиотек с программами на Python (SWIG). Дается обзор связок языка Python с другими языками программирования: C++, Java, OCaml, Prolog. Коротко говорится о специальном языке для написания модулей расширения Python - Pyrex.
-
Тест 13
-
Лекция 14
Устройство интерпретатора языка Python
В этой лекции сделана попытка пролить свет на внутреннее устройство интерпретатора Python. Для иллюстрации работы интерпретатора рассматриваются отладчик, профайлер и "дизассемблер".
-
Тест 14
-
Дмитрий Иванченко
Дмитрий Иванченко
Россия, г. Москва
Руслан Акманов
Руслан Акманов
Россия, Уфа, БашГУ, 2005
Olga Pushkar
Olga Pushkar

Каким редактором Python рекомендуете пользоваться?  

Некоторые опеции, как пример: type (r'\u0432') не обрабатываются в PyCharm (Commumity Edition 3.4) . Хотя, в консольке - все нормально.

 

Dmitriy Mischuk
Dmitriy Mischuk
Антон Стах
Антон Стах
Попробуйте Wing IDE)
Дмитрий Садовников
Дмитрий Садовников
ниндзя или VS, ну и конечно родное IDE