Python на практике — Эта книга ориентирована на программистов, пишущих на Python, которые хотели бы расширить и углубить знания языка, чтобы сделать свои программы более качественными, надежными, быстрыми, удобными для сопровождения и использования. В этой книге много практических примеров и идей. Рассматриваются четыре основных темы: применение паттернов проектирования для создания более элегантного кода, ускорение обработки за счет использования параллелизма и компиляции Python-кода (Cython), высокоуровневое сетевое программирование и графика. Издание предназначено для программистов, уже работающих на Python, но также может быть полезно и начинающим пользователям языка.
Название: Python на практике Автор: Саммерфильд М. Издательство: ДМК Пресс Год: 2016 Страниц: 439 Формат: PDF Размер: 11,01 МБ ISBN: 978-5-97060-215-7 Качество: отличное Язык: русский
Содержание:
Предисловие Введение Благодарности Глава 1. Порождающие паттерны проектирования в Python 1.1. Паттерн Абстрактная фабрика 1.1.1. Классическая Абстрактная фабрика 1.1.2. Абстрактная фабрика в духе Python 1.2. Паттерн Построитель 1.3. Паттерн Фабричный метод 1.4. Паттерн Прототип 1.5. Паттерн Одиночка Глава 2. Структурные паттерны проектирования в Python 2.1. Паттерн Адаптер 2.2. Паттерн Мост 2.3. Паттерн Компоновщик 2.3.1. Классическая иерархия составных и несоставных объектов 2.3.2. Единый класс для составных и несоставных объектов 2.4. Паттерн Декоратор 2.4.1. Декораторы функций и методов 2.4.2. Декораторы классов 2.5. Паттерн Фасад 2.6. Паттерн Приспособленец 2.7. Паттерн Заместитель Глава 3. Поведенческие паттерны проектирования в Python 3.1. Паттерн Цепочка ответственности 3.1.1. Традиционная Цепочка 3.1.2. Цепочка на основе сопрограмм 3.2. Паттерн Команда 3.3. Паттерн Интерпретатор 3.3.1. Вычисление выражения с помощью eval() 3.3.2. Исполнение кола с помощью ехес() 3.3.3. Исполнение кода в подпроцессе 3.4. Паттерн Итератор 3.4.1. Итераторы, следующие протоколу последовательности 3.4.2. Реализация итераторов с помощью функции iter() с двумя аргументами 3.4.3. Итераторы на базе протокола итераторов 3.5. Паттерн Посредник 3.5.1. Традиционный Посредник 3.5.2. Посредник на основе сопрограмм 3.6. Паттерн Хранитель 3.7. Паттерн Наблюдатель 3.8. Паттерн Состояние 3.8.1. Чувствительные к состоянию методы 3.8.2. Определяемые состоянием методы 3.9. Паттерн Стратегия 3.10. Паттерн Шаблонный метод 3.11. Паттерн Посетитель 3.12. Пример: пакет обработки изображений 3.12.1. Общий модуль обработки изображений 3.12.2. Обзор модуля Xpm 3.12.3. Модуль-обертка PNG Глава 4. Высокоуровневый параллелизм в Python 4.1. Распараллеливание задач с большим объемом вычислений 4.1.1. Очереди и многопроцессная обработка 4.1.2. Будущие обьекты и многопроцессная обработка 4.2. Распараллеливание задач, ограниченных скоростью ввода-вывода 4.2.1. Очереди и многопоточности 4.2.2. Будущие объекты и многопоточность 4.3. Пример: приложение с параллельным ГИП 4.3.1. Создание ГИП 4.3.2. Модуль ImageScaleWorker 4.3.3. Как ГИП обрабатывает продвижение 4.3.4. Как ГИП обрабатывает выход из программы Глава 5. Расширение Python 5.1. Доступ к написанным на С библиотекам с помощью пакета ctypes 5.2. Использование Cython 5.2.1. Доступ к написанным на С библиотекам с помощью Cython 5.2.2. Создание Cython-модулей для повышения производительности 5.3. Пример: ускоренная версия пакета Image Глава 6. Высокоуровневое сетевое программирование на Python 6.1. Создание приложений на базе технологии XML-RPC 6.1.1. Обертка данных 6.1.2. Разработка сервера XML-RPC 6.1.3. Разработка клиента XML-RPC 6.2. Создание приложений на базе технологии RPyC 6.2.1. Потокобезопасная обертка данных 6.2.2. Разработка сервера RPyC 6.2.3. Разработка клиента RPyC Глава 7. Графические интерфейсы пользователя на Python и Tkinter 7.1. Введение в Tkinter 7.2. Создание диалоговых окон с помощью Tkinter 7.2.1. Создание диалогового приложения 7.2.2. Создание диалоговых окон в приложении 7.3. Создание приложений с главным окном с помощью Tkinter 7.3.1. Создание главного окна 7.3.2. Создание меню 7.3.3. Создание строки состояния с индикаторами Глава 8. Трехмерная графика на Python с применением OpenGL 8.1. Сцена в перспективной проекции 8.1.1. Создание программы Cylinder с помощью PyOpenGL 8.1.2. Создание программы Cylinder с помощью pyglet 8.2. Игра в ортографической проекции 8.2.1. Рисование сцены с доской 8.2.2. Обработка выбора обьекта на сцене 8.2.3. Обработка взаимодействия с пользователем Приложение А. Эпилог Приложение В. Краткая библиография Предметный указатель