Программирование на Python. М.Лутц
Краткая аннотация
Во втором издании внимание сосредоточено на применении Python в практических задачах. Читатель обнаружит, что одна эта книга фактически содержит в себе четыре, которые глубоко освещают создание сценариев для Интернета, системное программирование, программирование GUI с использованием Tkinter и интеграцию с C. Весьма важно, что книга рассказывает о Python 2.0 - первой новой основной версии Python за пять лет. В ней также рассказывается о новых инструментах и приложениях Python, включая: Jython - версию Python, компилируемую в виде байт-кодов Java; расширения Active Scripting и COM; Zope - систему веб-приложений с открытым исходным кодом; генераторы кода HTMLgen и SWIG; поддержку потоков; модули CGI и протоколов Интернета. Кроме того, в этой книге море примеров кода, так что читатель сможет немедленно приступить к разработке сложных приложений.
Содержание
- Оглавление
- Вступительное слово
- Предисловие ко второму изданию
- 1. Знакомство с Python
- История жизни Python
- Обязательный список характеристик
- Где хорош Python?
- Для чего Python не годится?
- Часть I. Системные интерфейсы
- 2. Системные инструменты
- Зачем здесь нужен Python?
- Обзор системных сценариев
- Модуль sys
- Модуль os
- Контекст выполнения сценария
- Текущий рабочий каталог
- Аргументы командной строки
- Переменные окружения оболочки
- Стандартные потоки
- Средства для работы с файлами
- Средства для работы с каталогами
- 3. Системные средства параллельного выполнения
- Ветвление процессов
- Потоки
- Завершение программ
- Межпроцессное взаимодействие
- Каналы
- Сигналы
- Запуск программ под Windows
- Другие системные средства
- 4. Более крупные системные примеры I
- Разрезание и соединение файлов
- Создание веб-страниц со ссылками переадресации
- Сценарий регрессивного теста
- Упаковка и распаковка файлов
- Дружественные пользователю средства для запуска программ
- 5. Более крупные системные примеры II
- Исправление концов строк в формате DOS
- Исправление имен файлов DOS
- Поиск в деревьях каталогов
- Visitor: обобщенный обход деревьев
- Копирование деревьев каталогов
- Удаление деревьев каталогов
- Сравнение деревьев каталогов
- 2. Системные инструменты
- Часть II. Программирование GUI
- 6. Графические интерфейсы пользователя
- Варианты разработки GUI в Python
- Обзор Tkinter
- Взбираясь по кривой обучения GUI- программированию
- Завершение начального обучения
- Соответствие между Python/Tkinter и Tcl/Tk
- 7. Обзор Tkinter, часть 1
- Настройка внешнего вида графических элементов
- Окна верхнего уровня
- Диалоги
- Привязка событий
- Message и Entry
- Флажки, переключатели и ползунки
- Три способа выполнения кода GUI
- Изображения
- 8. Обзор Tkinter, часть 2
- Меню
- Окна списков и полосы прокрутки
- Text
- Графический элемент Canvas
- Сетки
- Средства синхронизации, потоки и анимация
- Конец экскурсии
- Запускающие программы PyDemos и PyGadgets
- 9.Более крупные примеры GUI
- Более сложные приемы написания кода GUI
- Примеры законченных программ
- PyEdit: программа/объект текстового редактора
- PyView: слайд-шоу для графики и заметок
- PyDraw: рисование и перемещение графики
- PyClock: графический элемент аналоговых/цифровых часов
- PyToe: графический элемент игры в крестики-нолики
- Что дальше
- 6. Графические интерфейсы пользователя
- Часть III. Создание сценариев для Интернета
- 10. Сетевые сценарии
- Трубопровод для Интернета
- ТрубоПрограммирование сокетов
- ТрубоОбработка нескольких клиентов
- ТрубоПростой файловый сервер на Python
- 11. Сценарии на стороне клиента
- Передача файлов по Сети
- Обработка электронной почты Интернета
- Почтовый клиент PyMailGui
- Другие инструменты, используемые на стороне клиента
- 12. Сценарии, выполняемые на сервере
- Что такое сценарий CGI для сервера?
- Взбираясь по кривой обучения CGI
- Селектор "Hello World"
- Код, облегчающий сопровождение
- Снова об escape-преобразованиях HTML и URL
- Отправка файлов клиентам и серверам
- 13. Более крупные примеры сайтов I
- Веб-сайт PyMailCgi
- Корневая страница
- Отправка почты по SMTP
- Чтение почты POP
- Вспомогательные модули
- Недостатки и преимущества сценариев CGI
- 14. Более крупные примеры сайтов II
- Веб-сайт PyErrata
- Корневая страница
- Просмотр сообщений PyErrata
- Передача сообщений в PyErrata
- Интерфейсы баз данных PyErrata
- Средства администрирования
- Проектирование с учетом повторного использования и расширения
- 15. Более сложные темы Интернета
- Zope: среда для создания публикаций в веб
- HTMLgen: веб-страницы, создаваемые объектами
- JPython (Jython): Python для Java
- Grail: веб-броузер на основе Python
- Ограниченный режим выполнения Python
- Средства обработки XML
- Расширения для веб-сценариев в Windows
- Python Server Pages
- Создание собственных серверов на Python
- 10. Сетевые сценарии
- Часть IV. Разные темы
- 16. Базы данных и постоянное хранение
- Возможности постоянного хранения данных в Python
- Файлы DBM
- Сериализованные объекты
- Файлы shelve
- Интерфейсы баз данных SQL
- PyForm: средство просмотра постоянных объектов
- 17. Структуры данных
- Реализация стеков
- Реализация множеств
- Двоичные деревья поиска
- Поиск на графах
- Реверсирование последовательностей
- Перестановки последовательностей
- Сортировка последовательностей
- Структуры данных в сравнении со встроенными типами Python
- PyTree: общее средство просмотра деревьев объектов
- 18. Текст и язык
- Стратегии синтаксического анализа в Python
- Средства модуля string
- Поиск регулярных выражений
- Генераторы парсеров
- Парсеры, написанные вручную
- PyCalc: программа/объект калькулятора
- 16. Базы данных и постоянное хранение
- Часть V. Интеграция
- 19. Расширяем Python
- Обзор расширений на C
- Простой модуль расширения на C
- SWIG - генератор интегрирующего кода
- Создание оболочек для вызовов окружения C
- Стек строк модуля расширения на C
- Тип стека строк: расширение на C
- Создание оболочек классов C++ с помощью SWIG
- 20. Встраиваем Python
- Обзор API встраивания в C
- Основные приемы встраивания кода
- Регистрация объектов для обработки обратных вызовов
- Использование в C классов Python
- ppembed: API высокого уровня для встраивания
- Другие темы интеграции
- 19. Расширяем Python
- Часть VI. Конец
- 21. Заключение: Python и цикл разработки
- "Как-то мы неправильно программируем компьютеры"
- "Фактор Гиллигана"
- Делать Правильное Дело
- И тут появляется Python
- А как насчет того узкого места?
- По поводу потопления "Титаника"
- Так что же такое Python: продолжение
- Заключительный анализ...
- Эпилог ко второму изданию
- 21. Заключение: Python и цикл разработки
- A. Последние изменения в Python
- B. Прагматика
- C. Python и C++
- Алфавитный указатель
