Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 639316)
Контекстум
Антиплагиат Руконтекст

Python на практике. Создание качественных программ с использованием параллелизма, библиотек и паттернов (3000,00 руб.)

0   0
Первый авторСаммерфильд Марк
ИздательствоМ.: ДМК Пресс
Страниц340
ID835009
АннотацияЕсли вы — опытный программист на Python, то после прочтения данной книги ваши программы станут более качественными, надежными, быстрыми, удобными для сопровождения и использования. В центре внимания Марка Саммерфилда находятся четыре основных темы: повышение элегантности кода с помощью паттернов проектирования, повышения быстродействия с помощью распараллеливания и компиляции Python-программ (Cython), высокоуровневое сетевое программирование и графика. Он описывает паттерны, доказавшие свою полезность в Python, иллюстрирует их на примерах высококачественного кода и объясняет, почему некоторые из них не слишком существенны.
Кому рекомендованоИздание предназначено для программистов, уже работающих на Python, но также может быть полезно и начинающим пользователям языка.
ISBN978-5-89818-322-6
УДК004.3’144:004.383.5Python
ББК32.973.26-04
Саммерфильд, М. . Python на практике. Создание качественных программ с использованием параллелизма, библиотек и паттернов / М. . Саммерфильд .— Пер. с англ. А. А. Слинкина. — 2-е изд., эл. — Москва : ДМК Пресс, 2023 .— 340 с. — 1 файл pdf : 340 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. — ISBN 978-5-89818-322-6 .— URL: https://rucont.ru/efd/835009 (дата обращения: 19.06.2024)

Предпросмотр (выдержки из произведения)

Python_на_практике._Создание_качественных_программ_с_использованием_параллелизма,_библиотек_и_паттернов.pdf
УДК 004.3’144:004.383.5Python ББК 32.973.26-04 С17 С17 Саммерфилд, Марк. Python на практике. Создание качественных программ с использованием параллелизма, библиотек и паттернов / М. Саммерфильд ; пер. с англ. А. А. Слинкина. — 2-е изд., эл. — 1 файл pdf : 340 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-322-6 Если вы — опытный программист на Python, то после прочтения данной книги ваши программы станут более качественными, надежными, быстрыми, удобными для сопровождения и использования. В центре внимания Марка Саммерфилда находятся четыре основных темы: повышение элегантности кода с помощью паттернов проектирования, повышения быстродействия с помощью распараллеливания и компиляции Python-программ (Cython), высокоуровневое сетевое программирование и графика. Он описывает паттерны, доказавшие свою полезность в Python, иллюстрирует их на примерах высококачественного кода и объясняет, почему некоторые из них не слишком существенны. Издание предназначено для программистов, уже работающих на Python, но также может быть полезно и начинающим пользователям языка. УДК 004.3’144:004.383.5Python ББК 32.973.26-04 Электронное издание на основе печатного издания: Python на практике. Создание качественных программ с использованием параллелизма, библиотек и паттернов / М. Саммерфильд ; пер. с англ. А. А. Слинкина. — Москва : ДМК Пресс, 2014. — 338 с. — ISBN 978-5-97060-0955. — Текст : непосредственный. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-322-6 © 2014 Qtrac Ltd. © Оформление, перевод на русский язык, издание ДМК Пресс, 2014
Стр.5
ОГЛАВЛЕНИЕ Предисловие .....................................................9 Введение ........................................................ 11 Благодарности ........................................................................ 14 Глава 1. Порождающие паттерны проектирования в Python .......................................................... 16 1.1. Паттерн Абстрактная фабрика .......................................... 16 1.1.1. Классическая Абстрактная фабрика .................................. 17 1.1.2. Абстрактная фабрика в духе Python................................... 20 1.2. Паттерн Построитель ........................................................ 22 1.3. Паттерн Фабричный метод ................................................ 28 1.4. Паттерн Прототип ............................................................. 37 1.5. Паттерн Одиночка ............................................................. 38 Глава 2. Структурные паттерны проектирования в Python .......................................................... 40 2.1. Паттерн Адаптер ............................................................... 40 2.2. Паттерн Мост .................................................................... 46 2.3. Паттерн Компоновщик ...................................................... 52 2.3.1. Классическая иерархия составных и несоставных объектов .................................................................................... 53 2.3.2. Единый класс для составных и несоставных объектов ....... 57 2.4. Паттерн Декоратор ........................................................... 60 2.4.1. Декораторы функций и методов ........................................ 61 2.4.2. Декораторы классов ......................................................... 67 2.5. Паттерн Фасад .................................................................. 74 2.6. Паттерн Приспособленец ................................................. 79 2.7. Паттерн Заместитель ........................................................ 82 Глава 3. Поведенческие паттерны проектирования в Python .......................................................... 88 3.1. Паттерн Цепочка ответственности .................................... 88 3.1.1. Традиционная Цепочка ..................................................... 89 3.1.2. Цепочка на основе сопрограмм ........................................ 91 3.2. Паттерн Команда .............................................................. 95
Стр.7
Оглавление 7 3.3. Паттерн Интерпретатор .................................................... 99 3.3.1. Вычисление выражения с помощью eval() ....................... 100 3.3.2. Исполнение кода с помощью exec() ................................ 104 3.3.3. Исполнение кода в подпроцессе ..................................... 107 3.4. Паттерн Итератор ........................................................... 112 3.4.1. Итераторы, следующие протоколу последовательности ................................................................ 112 3.4.2. Реализация итераторов с помощью функции iter() с двумя аргументами ................................................................ 113 3.4.3. Итераторы на базе протокола итераторов ...................... 115 3.5. Паттерн Посредник ......................................................... 118 3.5.1. Традиционный Посредник ............................................... 119 3.5.2. Посредник на основе сопрограмм .................................. 123 3.6. Паттерн Хранитель .......................................................... 125 3.7. Паттерн Наблюдатель ..................................................... 125 3.8. Паттерн Состояние ......................................................... 130 3.8.1. Чувствительные к состоянию методы .............................. 133 3.8.2. Определяемые состоянием методы ................................ 135 3.9. Паттерн Стратегия .......................................................... 136 3.10. Паттерн Шаблонный метод ........................................... 139 3.11. Паттерн Посетитель ...................................................... 142 3.12. Пример: пакет обработки изображений ........................ 144 3.12.1. Общий модуль обработки изображений ........................ 146 3.12.2. Обзор модуля Xpm ........................................................ 156 3.12.3. Модуль-обертка PNG .................................................... 159 Глава 4.Высокоуровневый параллелизм в Python ... 162 4.1. Распараллеливание задач с большим объемом вычислений ........................................................................... 166 4.1.1. Очереди и многопроцессная обработка .......................... 169 4.1.2. Будущие объекты и многопроцессная обработка ............ 175 4.2. Распараллеливание задач, ограниченных скоростью ввода-вывода ........................................................................ 178 4.2.1. Очереди и многопоточность ........................................... 180 4.2.2. Будущие объекты и многопоточность.............................. 185 4.3. Пример: приложение с параллельным ГИП ..................... 188 4.3.1. Создание ГИП ................................................................. 190 4.3.2. Модуль ImageScaleWorker ............................................... 198 4.3.3. Как ГИП обрабатывает продвижение .............................. 201 4.3.4. Как ГИП обрабатывает выход из программы ................... 203 Глава 5. Расширение Python ............................. 205 5.1. Доступ к написанным на C библиотекам с помощью пакета ctypes ......................................................................... 207
Стр.8
8 Оглавление 5.2. Использование Cython .................................................... 215 5.2.1. Доступ к написанным на C библиотекам с помощью Cython .................................................................... 215 5.2.2. Создание Cython-модулей для повышения производительности ................................................................ 222 5.3. Пример: ускоренная версия пакета Image ....................... 228 Глава 6. Высокоуровневое сетевое программирование на Python ........................... 233 6.1. Создание приложений на базе технологии XML-RPC ....... 234 6.1.1. Обертка данных .............................................................. 235 6.1.2. Разработка сервера XML-RPC ......................................... 239 6.1.3. Разработка клиента XML-RPC ......................................... 241 6.2. Создание приложений на базе технологии RPyC ............. 251 6.2.1. Потокобезопасная обертка данных ................................. 251 6.2.2. Разработка сервера RPyC ............................................... 257 6.2.3. Разработка клиента RPyC ............................................... 260 Глава 7. Графические интерфейсы пользователя на Python и Tkinter .......................................... 264 7.1. Введение в Tkinter ........................................................... 267 7.2. Создание диалоговых окон с помощью Tkinter ................ 269 7.2.1. Создание диалогового приложения ................................ 271 7.2.2. Создание диалоговых окон в приложении ....................... 280 7.3. Создание приложений с главным окном с помощью Tkinter ................................................................. 290 7.3.1. Создание главного окна .................................................. 292 7.3.2. Создание меню ............................................................... 294 7.3.3. Создание строки состояния с индикаторами .................. 297 Глава 8. Трехмерная графика на Python с применением OpenGL ................................... 301 8.1. Сцена в перспективной проекции ................................... 303 8.1.1. Создание программы Cylinder с помощью PyOpenGL ...... 304 8.1.2. Создание программы Cylinder с помощью pyglet ............. 309 8.2. Игра в ортографической проекции .................................. 311 8.2.1. Рисование сцены с доской .............................................. 314 8.2.2. Обработка выбора объекта на сцене ............................... 317 8.2.3. Обработка взаимодействия с пользователем ................. 319 Приложение A. Эпилог..................................... 323 Приложение B. Краткая библиография ............... 325 Предметный указатель .................................... 329
Стр.9

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст