SiteHeart





ban1
ban2
ban3
ban4
ban5

cocos
Книга Программирование на Python, 4-е издание, II том . Лутц
Книга Программирование на Python, 4-е издание, II том . Лутц
978-5-93286-211-7
645.00 грн.
Код товара: 4877
Доставка по всей
территории Украины
БЕСПЛАТНАЯ


2012г.
Количество страниц: 992

 Книга Марка Лутца "Программирование на Python" в 2-х томах представляет собой учебник по применению языка Python для решения наиболее типичных задач в различных прикладных областях. В нем рассказывается о применении языка Python в системном администрировании, для создания графических интерфейсов и веб-­приложений и исследуются приемы программирования сетевых взаимодействий, взаимодействий с базами данных, обработки текста, создания интерфейсов для сценариев и во многих других областях. Несмотря на то, что на протяжении всей книги используется язык Python, тем не менее основное внимание будет уделяться не основам языка, а приемам решения практических задач. Попутно книга ставит своей целью познакомить читателя с часто используемыми инструментами и библиотеками. Таким образом, данная книга является ресурсом, позволяющим читателю получить более глубокое понимание роли языка Python в практике программирования.

 

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

 

В четвертое издание включено описание новых особенностей языка, библиотек и практических приемов программирования для Python 3.X. В частности, примеры, представленные в книге, выполняются под управлением интерпретатора версии Python 3.1 - наиболее свежей версии Python на момент написания этих строк. Непосредственно перед публикацией книги все основные примеры были опробованы под третьей альфа­версией Python 3.2, но, вообще говоря, они должны сохранить свою работоспособность при использовании любой версии Python из линейки 3.X.

 

Книга "Программирование на Python, 4-е издание, II том" включает части IV, V и VI оригинального издания.

 

В части IV "Создание сценариев для Интернета" рассматриваются роль Python как языка программирования приложений для Интернета и инструменты в его библиотеке для поддержки этой роли. Попутно привлекаются к использованию инструменты конструирования графических интерфейсов, представленные в 1-м томе книги. Поскольку это популярная область применения Python, главы данной части охватывают все направления.

В главе 12 обсуждаются основные понятия, связанные с Интернетом, рассматриваются низкоуровневые сетевые инструменты Python, такие как сокеты, а также основы программирования архитектуры клиент-сервер.

В главе 13 показано, как сценарии могут использовать инструменты языка Python для доступа к стандартным сетевым протоколам клиента, таким как FTP, HTTP, протоколы электронной почты и другие.

Глава 14 демонстрирует использование клиентских инструментов электронной почты, описанных в главе 13, а также приемы конструирования графических интерфейсов из части III книги (том 1) для реализации полнофункционального клиента электронной почты.

Глава 15 освещает основы создания CGI-сценариев на языке Python, выполняемых на стороне сервера, - программ, используемых для реализации интерактивных веб-сайтов.

Глава 16 демонстрирует приемы реализации веб-сайтов с помощью Python на примере реализации веб-интерфейса для доступа к электронной почте, отчасти в противовес и для сравнения с обычным решением, представленным в главе 14.

Кроме того, в главе 12 дается краткий обзор дополнительных инструментов Python для создания интернет-приложений, таких как Jython, Django, App Engine, Zope, PSP, pyjamas и HTMLgen, более полное описание которых вы найдете в соответствующих ресурсах.

 

В части IV используются общие концепции программирования, такие как объектно-ориентированное программирование (ООП), рефакторинг программного кода и повторное его использование. Вы увидите, что Python, графические интерфейсы и сетевые инструменты составляют мощную комбинацию.

 

В части V "Инструменты и приемы" собраны дополнительные темы, касающиеся разработки приложений на языке Python. Большинство представленных здесь инструментов может быть использовано в самых разных областях прикладного программирования.

Глава 17 освещает часто используемые и развитые технологии Python хранения информации между запусками программы - файлы DBM, сериализация объектов, хранилища объектов и интерфейсы Python к базам данных SQL - и кратко знакомит с полноценными объектно-ориентированными базами данных (OODB), такими как ZODB, а также с механизмами объектно-реляционного отображения (ORM), такими как SQLObject и SQLAlchemy. В примерах работы с базами данных SQL используется поддержка SQLite, входящая в состав стандартной библиотеки Python, но сам прикладной интерфейс с легкостью можно перенести на использование более крупных систем, таких как MySQL.

В главе 18 рассматриваются приемы реализации более сложных структур данных на языке Python - стеков, множеств, двоичных деревьев поиска, графов и других. В Python они принимают форму реализаций объектов.

В главе 19 изучаются инструменты и приемы, используемые в языке Python для синтаксического анализа текстовой информации - разбиение и объединение строк, поиск с применением регулярных выражений, анализ документов XML, анализ методом рекурсивного спуска и более сложные темы, связанные с языками.

В главе 20 представлены приемы интеграции - расширение Python с помощью компилируемых библиотек и встраивание программного кода на языке Python в другие приложения. Несмотря на то, что основное внимание уделяется связыванию Python с откомпилированным программным кодом на языке C, тем не менее мы также коснемся вопросов интеграции с Java, .NET и другими языками. В этой главе предполагается, что вы умеете читать программы на языке C, и она предназначена, главным образом, для разработчиков, занимающихся реализацией прикладных уровней интеграции.

 

Это последняя часть книги, посвященная чистому языку Python. Она интенсивно использует инструменты, представленные ранее в книге, делая особый упор на повторное использование программного кода. Например, калькулятор с графическим интерфейсом (PyCalc) служит демонстрации понятий обработки языков и повторного использования программного кода.

Подобно части I книги (том 1), последняя часть VI "Финал" состоит из одной главы 21, в которой подводятся некоторые итоги. В главе обсуждаются роль Python и область его применения. В ней исследуются некоторые более широкие идеи о круге обычного применения Python, а кроме того, кратко представлены его расширенные возможности. Большая часть этой главы представляет философский взгляд на вещи, но помимо этого в ней выделяются некоторые основные причины использования таких инструментов, как Python.

В книге отсутствуют приложения справочного характера. За дополнительными справочными материалами обращайтесь к стандартным руководствам по языку Python, доступным в Интернете, или к коммерческим печатным справочникам, таким как "Python Pocket Reference" издательства O'Reilly, и другим, которые вы сможете отыскать в привычных местах в Интернете.

 

Дополнительный материал по базовому языку Python можно найти в книге "Изучаем Python". В 4-м издании этой книги исследуются более сложные инструменты языка, такие как свойства, дескрипторы, декораторы и метаклассы, которые мы пропустили здесь, потому что они относятся к категории базовых особенностей. В книге "Изучаем Python" также более подробно, чем здесь, рассматриваются вопросы работы с текстом Юникода, так как это является отличительной особенностью Python 3.

 

Об авторе книги "Программирование на Python, 4-е издание, II том":

Марк Лутц (Mark Lutz) является ведущим специалистом в области обучения языку программирования Python и автором самых ранних и наиболее популярных публикаций. Он известен в сообществе пользователей Python своими новаторскими идеями.

Марк является автором книг "Learning Python" ("Изучаем Python", 4-е издание, Символ-Плюс, 2010), "Programming Python" ("Программирование на Python", 4-е издание, в 2-х томах, Символ-Плюс, 2011) и "Python Pocket Reference", выпущенных издательством O'Reilly, каждая из которых претерпела уже четыре издания. Лутц использует Python и занимается его популяризацией начиная с 1992 года; книги о Python начал писать в 1995 году; преподаванием этого языка программирования стал заниматься с 1997 года. На начало 2010 года Марк провел 250 курсов, обучил более 3500 студентов, написал книги по языку Python, которые были переведены более чем на десять языков и суммарный тираж которых составил примерно четверть миллиона копий.

Лутц обладает степенями бакалавра и магистра в области информатики, закончил университет штата Висконсин (США). На протяжении последних 25 лет занимался разработкой компиляторов, инструментальных средств программиста, приложений и разнообразных систем в архитектуре клиент-сервер. 

Оглавление книги Марка Лутца "Программирование на Python, 4-е издание, II том"

 

 

 

 

 

Часть IV. Создание сценариев для Интернета

Глава 12. Сетевые сценарии

"Подключись, зарегистрируйся и исчезни"

Темы, касающиеся разработки сценариев для Интернета

Опробование примеров этой части книги

Другие возможности разработки сценариев для Интернета на языке Python

Трубопровод для Интернета

Слой сокетов

Слой протоколов

Библиотечные модули Python для Интернета

Программирование сокетов

Основы сокетов

Запуск программ, использующих сокеты, на локальном компьютере 

Запуск программ, использующих сокеты, на удаленном компьютере

Параллельный запуск нескольких клиентов

Подключение к зарезервированным портам

Обслуживание нескольких клиентов

Ветвление серверов

Многопоточные серверы

Классы серверов в стандартной библиотеке

Мультиплексирование серверов с помощью select Подводя итоги: выбор конструкции сервера

Придание сокетам внешнего вида файлов и потоков ввода­вывода

Вспомогательный модуль перенаправления потоков ввода­вывода

Простой файловый сервер на Python

Запуск сервера файлов и клиентов

Добавляем графический интерфейс пользователя

Глава 13. Сценарии на стороне клиента

"Свяжись со мной!"

FTP: передача файлов по сети

Передача файлов с помощью ftplib

Использование пакета urllib для загрузки файлов

Утилиты FTP get и put

Добавляем пользовательский интерфейс

Передача каталогов с помощью ftplib

Загрузка каталогов сайта

Выгрузка каталогов сайтов

Реорганизация сценариев выгрузки и загрузки для многократного использования

Передача деревьев каталогов с помощью ftplib

Выгрузка локального дерева каталогов

Удаление деревьев каталогов на сервере

Загрузка деревьев каталогов с сервера

Обработка электронной почты

Поддержка Юникода в Python 3.X и инструменты электронной почты

POP: чтение электронной почты

Модуль настройки электронной почты

Сценарий чтения почты с сервера POP

Извлечение сообщений

Чтение почты из интерактивной оболочки

SMTP: отправка электронной почты

Сценарий отправки электронной почты по SMTP

Отправка сообщений

Отправка почты из интерактивной оболочки

Пакет email: анализ и составление электронных писем

Объекты Message

Базовые интерфейсы пакета email в действии

Юникод, интернационализация и пакет email в Python 3.1

Почтовый клиент командной строки

Работа с клиентом командной строки pymail

Вспомогательный пакет mailtools

Файл инициализации

Класс MailTool

Класс MailSender

Класс MailFetcher

Класс MailParser

Сценарий самотестирования

Обновление клиента командной строки pymail

NNTP: доступ к телеконференциям

HTTP: доступ к веб­сайтам

Еще раз о пакете urllib

Другие интерфейсы urllib

Прочие возможности создания клиентских сценариев

Глава 14. Почтовый клиент PyMailGUI

"Пользуйся исходными текстами, Люк!"

Модули с исходными текстами и их объем

Зачем нужен PyMailGUI? 

Запуск PyMailGUI

Стратегия представления

Основные изменения в PyMailGUI

Новое в версиях 2.1 и 2.0 (третье издание)

Новое в версии 3.0 (четвертое издание)

Демонстрация PyMailGUI

Запуск

Загрузка почты

Многопоточная модель выполнения

Интерфейс загрузки с сервера

Обработка без подключения к Интернету, сохранение и открытие

Отправка почты и вложений

Просмотр электронных писем и вложений

Ответ на сообщения, пересылка и особенности адресации

Удаление сообщений

Номера POP-сообщений и синхронизация

Обработка содержимого электронной почты в формате HTML

Поддержка интернационализации содержимого

Альтернативные конфигурации и учетные записи

Многооконный интерфейс и сообщения о состоянии

Реализация PyMailGUI

PyMailGUI: главный модуль

SharedNames: глобальные переменные программы

ListWindows: окна со списками сообщений

ViewWindows: окна просмотра сообщений

messagecache: менеджер кэша сообщений

popuputil: диалоги общего назначения

wraplines: инструменты разбиения строк

html2text: извлечение текста из разметки HTML (прототип, предварительное знакомство) 

mailconfig: настройки пользователя

textConfig: настройка окон редактора PyEdit

PyMailGUIHelp: текст справки и ее отображение

altconfigs: настройка нескольких учетных записей

Идеи по усовершенствованию

Глава 15. Сценарии на стороне сервера

"До чего же запутанную паутину мы плетем..."

Что такое серверный CGI-¬сценарий? 

Притаившийся сценарий

Создание CGI¬-сценариев на языке Python

Запуск примеров серверных сценариев

Выбор веб­сервера

Использование локального веб­сервера

Корневая страница с примерами на стороне сервера

Просмотр примеров серверных сценариев и их вывода

Вверх к познанию CGI

Первая веб­страница

Первый CGI-¬сценарий

Добавление картинок и создание таблиц

Добавление взаимодействия с пользователем

Табличная верстка форм

Добавление стандартных инструментов ввода

Изменение размещения элементов формы ввода

Передача параметров в жестко определенных адресах URL

Передача параметров в скрытых полях форм

Сохранение информации о состоянии в сценариях CGI

Параметры запроса в строке URL

Скрытые поля форм

HTTP "Cookies"

Базы данных на стороне сервера

Расширения модели CGI

Комбинирование приемов

Переключатель "Hello World"

Проверка отсутствующих или недопустимых данных

Рефакторинг программного кода с целью облегчения его сопровождения

Шаг 1: совместное использование объектов разными страницами - новая форма ввода

Шаг 2: многократно используемая утилита имитации формы

Шаг 3: объединим все вместе - новый сценарий ответа

Подробнее об экранировании HTML и URL

Соглашения по экранированию адресов URL

Инструменты Python для экранирования HTML и URL

Экранирование разметки HTML

Экранирование адресов URL

Экранирование адресов URL, встроенных в разметку HTML

Передача файлов между клиентами и серверами

Отображение произвольных файлов сервера на стороне клиента

Выгрузка файлов клиента на сервер

Как же все­таки протолкнуть биты через Сеть

Глава 16. Сервер PyMailCGI

"Список дел на поездку в Чикаго"

Веб¬-сайт PyMailCGI

Обзор реализации

Новое в версии для четвертого издания (версия 3.0) 

Новое в версии для предыдущего издания (версия 2.0) 

Обзорное представление программы

Опробование примеров из этой главы

Корневая страница

Настройка PyMailCGI

Отправка почты по SMTP

Страница составления сообщений

Сценарий отправки почты

Страницы с сообщениями об ошибках

Единство внешнего вида

Использование сценария отправки почты без броузера

Чтение электронной почты по протоколу POP

Страница ввода пароля POP

Страница выбора почты из списка

Передача информации о состоянии в параметрах URL-ссылки 

Протоколы защиты данных

Страница просмотра сообщений

Передача информации о состоянии в скрытых полях форм HTML

Экранирование текста сообщения и паролей в HTML

Обработка загруженной почты

Ответ и пересылка

Удаление

Операция удаления и номера POP-сообщений

Вспомогательные модули

Внешние компоненты и настройки

Интерфейс к протоколу POP

Шифрование паролей

Общий вспомогательный модуль

Преимущества и недостатки сценариев CGI

PyMailGUI и PyMailCGI

Веб¬-приложения и настольные приложения

Другие подходы

Часть V. Инструменты и приемы

Глава 17. Базы данных и постоянное хранение

"Дайте мне приказ стоять до конца, но сохранить данные"

Возможности постоянного хранения данных в Python

Файлы DBM

Работа с файлами DBM

Особенности DBM: файлы, переносимость и необходимость закрытия

Сериализованные объекты

Применение сериализации объектов

Сериализация в действии

Особенности сериализации: протоколы, двоичные режимы и модуль _pickle

Файлы shelve

Использование хранилищ

Сохранение объектов встроенных типов в хранилищах

Сохранение экземпляров классов в хранилищах

Изменение классов хранимых объектов

Ограничения модуля shelve

Ограничения класса Pickler

Другие ограничения хранилищ модуля shelve

Объектно­ориентированная база данных ZODB

Сильно сокращенный учебник по ZODB

Интерфейсы баз данных SQL

Обзор интерфейса SQL

Учебник по API базы данных SQL на примере SQLite

Создание словарей записей

Объединяем все вместе

Загрузка таблиц базы данных из файлов

Вспомогательные сценарии SQL

Ресурсы SQL

ORM: механизмы объектно¬-реляционного отображения

PyForm: просмотр хранимых объектов (внешний пример)

Глава 18. Структуры данных

"Розы - красные, фиалки - голубые; списки изменяемы, а также и класс Foo" Реализация стеков

Встроенные возможности

Модуль stack

Класс Stack

Индивидуальная настройка: мониторинг производительности

Оптимизация: стеки в виде деревьев кортежей

Оптимизация: непосредственная модификация списка в памяти

Хронометраж усовершенствований

Реализация множеств

Встроенные возможности

Функции множеств

Классы множеств

Оптимизация: перевод множеств на использование словарей

Алгебра отношений для множеств (внешний пример)

Создание подклассов встроенных типов

Двоичные деревья поиска

Встроенные возможности

Реализация двоичных деревьев

Деревья с ключами и значениями

Поиск на графах

Реализация поиска на графе

Перевод графов на классы

Перестановки последовательностей

Обращение и сортировка последовательностей

Реализация обращения

Реализация сортировки

Структуры данных в сравнении со встроенными типами: заключение

PyTree: универсальное средство просмотра деревьев объектов

Глава 19. Текст и язык

"Пилите, Шура, пилите!"

Стратегии обработки текста в Python

Строковые методы

Обработка шаблонов с помощью операций замены и форматирования

Анализ текста с помощью методов split и join

Суммирование по колонкам в файле

Синтаксический анализ строк правил и обратное преобразование

Поиск по шаблонам регулярных выражений

Модуль re

Первые примеры

Строковые операции и шаблоны

Использование модуля re

Дополнительные примеры шаблонов

Поиск совпадений с шаблонами в файлах заголовков C

Синтаксический анализ XML и HTML

Анализ XML

Анализ HTML

Дополнительные инструменты синтаксического анализа

Парсеры, написанные вручную

Грамматика выражений

Реализация парсера

Добавление интерпретатора дерева синтаксического анализа

Структура дерева синтаксического анализа

Исследование деревьев синтаксического анализа с помощью PyTree

Парсеры и возможности Python

PyCalc: программа/объект калькулятора

Графический интерфейс простого калькулятора

PyCalc - графический интерфейс "настоящего" калькулятора

Глава 20. Интеграция Python/C

"Я заблудился в C"

Расширение и встраивание

Расширения на C: обзор

Простой модуль расширения на C

Генератор интегрирующего программного кода SWIG

Простой пример SWIG

Создание оберток для функций окружения C

Добавление классов­оберток в простые библиотеки

Обертывание функций окружения C с помощью SWIG

Обертывание классов C++ с помощью SWIG

Простое расширение с классом C++

Обертывание классов C++ с помощью SWIG

Использование класса C++ в Python

Другие инструменты создания расширений

Встраивание Python в С: обзор 

Обзор API встраивания в C

Что представляет собой встроенный код?

Основные приемы встраивания

Выполнение простых строк программного кода

Выполнение строк программного кода с использованием результатов и пространств имен

Вызов объектов Python

Выполнение строк в словарях

Предварительная компиляция строк в байт¬код

Регистрация объектов для обработки обратных вызовов

Реализация регистрации

Использование классов Python в программах C

Другие темы интеграции

Часть VI. Финал

Глава 21. Заключение: Python и цикл разработки

"Книга заканчивается, пора уже и о смысле жизни"

"Как-¬то мы неправильно программируем компьютеры"

"Фактор Гиллигана"

Делать правильно

Цикл разработки для статических языков

Искусственные сложности

Одним языком не угодишь всем

И тут появляется Python

А как насчет того узкого места?

Python обеспечивает цикл разработки без промежуточных стадий

Python является "выполняемым псевдокодом"

Python - это правильное ООП

Python способствует созданию гибридных приложений

По поводу потопления "Титаника"

Так что же такое Python: продолжение

Заключительный анализ...

Алфавитный указатель

К данному продукту нет комментариев.
Может вы оставите первый?
ДОБАВЬТЕ СВОЙ КОММЕНТАРИЙ: #Enable images to see captcha.


Отправить ссылку другу: #Enable images to see captcha.