- 15, Apr 2018
- #1
Python на практике
Марк Саммерфилд
Если вы – опытный программист на Python, то после прочтения данной книги ваши программы станут более качественными, надежными, быстрыми, удобными для сопровождения и использования.
В центре внимания Марка Саммерфилд находятся четыре основных темы: повышение элегантности кода с помощью паттернов проектирования, повышения быстродействия с помощью распараллеливания и компиляции Python-программ (Cython), высокоуровневое сетевое программирование и графика.
Он описывает паттерны, доказавшие свою полезность в Python, иллюстрирует их на примерах высококачественного кода и объясняет, почему некоторые из них не слишком существенны.
Издание предназначено для программистов, уже работающих на Python, но также может быть полезно и начинающим пользователям языка.
ОГЛАВЛЕНИЕ
Предисловие
Введение
Благодарности
Глава 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. Исполнение кода с помощью exec()
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. Доступ к написанным на C библиотекам с помощью пакета ctypes
5.2. Использование Cython
5.2.1. Доступ к написанным на C библиотекам
с помощью 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. Обработка взаимодействия с пользователем
Приложение A. Эпилог
Приложение B. Краткая библиография
Предметный указатель
http://dmkpress.com/catalog/computer/programming/978-5-97060-095-5/
Скрытая информация :: Авторизуйтесь для просмотра »
Если вы – опытный программист на Python, то после прочтения данной книги ваши программы станут более качественными, надежными, быстрыми, удобными для сопровождения и использования.
В центре внимания Марка Саммерфилд находятся четыре основных темы: повышение элегантности кода с помощью паттернов проектирования, повышения быстродействия с помощью распараллеливания и компиляции Python-программ (Cython), высокоуровневое сетевое программирование и графика.
Он описывает паттерны, доказавшие свою полезность в Python, иллюстрирует их на примерах высококачественного кода и объясняет, почему некоторые из них не слишком существенны.
Издание предназначено для программистов, уже работающих на Python, но также может быть полезно и начинающим пользователям языка.
ОГЛАВЛЕНИЕ
Предисловие
Введение
Благодарности
Глава 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. Исполнение кода с помощью exec()
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. Доступ к написанным на C библиотекам с помощью пакета ctypes
5.2. Использование Cython
5.2.1. Доступ к написанным на C библиотекам
с помощью 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. Обработка взаимодействия с пользователем
Приложение A. Эпилог
Приложение B. Краткая библиография
Предметный указатель
http://dmkpress.com/catalog/computer/programming/978-5-97060-095-5/
Скрытая информация :: Авторизуйтесь для просмотра »