Программирование на Python. М.Лутц

Обложка
Перевод на русский язык второго издания книги O'Reilly Programming 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: обобщенный обход деревьев
      • Копирование деревьев каталогов
      • Удаление деревьев каталогов
      • Сравнение деревьев каталогов
  • Часть 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: графический элемент игры в крестики-нолики
      • Что дальше
  • Часть 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
  • Часть IV. Разные темы
    • 16. Базы данных и постоянное хранение
      • Возможности постоянного хранения данных в Python
      • Файлы DBM
      • Сериализованные объекты
      • Файлы shelve
      • Интерфейсы баз данных SQL
      • PyForm: средство просмотра постоянных объектов
    • 17. Структуры данных
      • Реализация стеков
      • Реализация множеств
      • Двоичные деревья поиска
      • Поиск на графах
      • Реверсирование последовательностей
      • Перестановки последовательностей
      • Сортировка последовательностей
      • Структуры данных в сравнении со встроенными типами Python
      • PyTree: общее средство просмотра деревьев объектов
    • 18. Текст и язык
      • Стратегии синтаксического анализа в Python
      • Средства модуля string
      • Поиск регулярных выражений
      • Генераторы парсеров
      • Парсеры, написанные вручную
      • PyCalc: программа/объект калькулятора
  • Часть V. Интеграция
    • 19. Расширяем Python
      • Обзор расширений на C
      • Простой модуль расширения на C
      • SWIG - генератор интегрирующего кода
      • Создание оболочек для вызовов окружения C
      • Стек строк модуля расширения на C
      • Тип стека строк: расширение на C
      • Создание оболочек классов C++ с помощью SWIG
    • 20. Встраиваем Python
      • Обзор API встраивания в C
      • Основные приемы встраивания кода
      • Регистрация объектов для обработки обратных вызовов
      • Использование в C классов Python
      • ppembed: API высокого уровня для встраивания
      • Другие темы интеграции
  • Часть VI. Конец
    • 21. Заключение: Python и цикл разработки
      • "Как-то мы неправильно программируем компьютеры"
      • "Фактор Гиллигана"
      • Делать Правильное Дело
      • И тут появляется Python
      • А как насчет того узкого места?
      • По поводу потопления "Титаника"
      • Так что же такое Python: продолжение
      • Заключительный анализ...
      • Эпилог ко второму изданию
  • A. Последние изменения в Python
  • B. Прагматика
  • C. Python и C++
  • Алфавитный указатель