Python на практике, Марк Саммерфилд, 2016

По кнопке выше «Купить бумажную книгу» можно купить эту книгу с доставкой по всей России и похожие книги по самой лучшей цене в бумажном виде на сайтах официальных интернет магазинов Лабиринт, Озон, Буквоед, Читай-город, Литрес, My-shop, Book24, Books.ru.

По кнопке «Купить и скачать электронную книгу» можно купить эту книгу в электронном виде в официальном интернет магазине «ЛитРес», и потом ее скачать на сайте Литреса.

По кнопке «Найти похожие материалы на других сайтах» можно искать похожие материалы на других сайтах.

On the buttons above you can buy the book in official online stores Labirint, Ozon and others. Also you can search related and similar materials on other sites.


Python на практике, Марк Саммерфилд, 2016.

  Если вы - опытный программист на Python, то после прочтения данной книги ваши программы станут более качественными, надежными, быстрыми, удобными для сопровождения и использования.
В центре внимания Марка Саммерфилда находятся четыре основных темы: повышение элегантности кода с помощью паттернов проектирования, повышения быстродействия с помощью распараллеливания и компиляции Python-программ (Cython), высокоуровневое сетевое программирование и графика. Он описывает паттерны, доказавшие свою полезность в Python, иллюстрирует их на примерах высококачественного кода и объясняет, почему некоторые из них не слишком существенны.
Издание предназначено для программистов, уже работающих на Python, но также может быть полезно и начинающим пользователям языка.

Python на практике, Марк Саммерфилд, 2016


Абстрактная фабрика в духе Python.
Класс DiagramFactory, его подкласс SvgDiagramFactory, а также классы, которые в них используются (Diagram, SvgDiagram и т. д.), прекрасно работают в полном соответствии с паттерном проектирования.

Тем не менее, у нашей реализации есть несколько недостатков. Во-первых, ни у одной фабрики нет собственного состояния, поэтому и создавать экземпляры фабрики по сути дела ни к чему. Во-вторых, код SvgDiagramFactory отличается от кода DiagramFactory только тем, что возвращает объекты типа SvgText, а не Text и т. д. - таким образом, налицо ненужное дублирование. В-третьих, в пространстве имен верхнего уровня находятся все классы: DiagramFactory, Diagram, Rectangle, Text и их SVG-эквиваленты. Но на самом деле нам нужен доступ только к двум фабрикам. Далее, мы вынуждены добавлять к именам классов префикс SVG (например, SvgRectangle вместо Rectangle), чтобы избежать конфликта имен, а это некрасиво. (Для устранения конфликта имен можно было бы поместить каждый класс в свой модуль. Но это не решает проблему дублирования кода.).

Содержание.
Предисловие.
Введение.
Благодарности.
Глава 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. Обзор модуля Хрm.
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. Обработка взаимодействия с пользователем.
Приложение А. Эпилог.
Приложение В. Краткая библиография.
Предметный указатель.

Купить .
Дата публикации:






Теги: :: ::


Следующие учебники и книги:
Предыдущие статьи:


 


 

Книги, учебники, обучение по разделам




Не нашёл? Найди:





2024-03-28 12:53:12