Каталог книг

Python на практике

Перейти в магазин

Сравнить цены

Описание

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

Сравнить Цены

Предложения интернет-магазинов
Марк Саммерфилд Python на практике Марк Саммерфилд Python на практике 891 р. ozon.ru В магазин >>
Саммерфильд М. Python на практике Саммерфильд М. Python на практике 891 р. bookvoed.ru В магазин >>
Д. В. Кольцов Python. Создаем программы и игры Д. В. Кольцов Python. Создаем программы и игры 461 р. ozon.ru В магазин >>
Python. Создаем программы и игры Python. Создаем программы и игры 627 р. labirint.ru В магазин >>
Программируем на Python Программируем на Python 1119 р. labirint.ru В магазин >>
Доусон, Майкл Программируем на Python Доусон, Майкл Программируем на Python 924 р. bookvoed.ru В магазин >>
Майкл Доусон Программируем на Python Майкл Доусон Программируем на Python 924 р. ozon.ru В магазин >>

Статьи, обзоры книги, новости

Марк Саммерфилд

Python на практике

Автор: Марк Саммерфилд

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

Порождающие паттерны проектирования в Python

Порождающие паттерны проектирования описывают, как создавать объекты. Обычно объект создается путем вызова конструктора (то есть объекта его класса с аргументами), но иногда желательна большая гибкость – именно поэтому порождающие паттерны и полезны.

Для пишущих па Python некоторые из этих паттернов покажутся очень похожими друг на друга, а кое-какие, как мы скоро увидим, вообще не нужны. Объясняется это тем, что изначально паттерны проектирования предназначались, прежде всего, для C++, и приходилось преодолевать некоторые ограничения этого языка. В Python таких ограничений нет.

1.1. Паттерн Абстрактная фабрика

Паттерн Абстрактная фабрика предназначен для случаев, когда требуется создать сложный объект, состоящий из других объектов, причем все составляющие объекты принадлежат одному «семейству».

Например, в системе с графическим пользовательским интерфейсом может быть абстрактная фабрика виджетов, которой наследуют три конкретные фабрики: MacWidgetFactory, XfceWidgetFactory и windowsWidgetFactory, каждая из которых предоставляет методы для создания одних и тех же объектов (make_button (), make_spin-box () и т. д.), стилизованных, однако, как принято на конкретной платформе. Это дает возможность создать обобщенную функцию create dialog (), которая принимает экземпляр фабрики в качестве аргумента и создает диалоговое окно, выглядящее, как в OS X, Xl’ce или Windows, – в зависимости от того, какую фабрику мы передали.

1.1.1. Классическая Абстрактная фабрика

Для иллюстрации паттерна Абстрактная фабрика рассмотрим программу, которая создает нехитрый рисунок. Нам понадобятся две фабрики: одна будет выводить простой текст, другая – файл в формате SVG (Scalable Vector Graphics). Оба результата показаны на рис. 1.1. В первой версии программы, diagraml.ру, демонстрируется паттерн в чистом виде. А во второй версии, diagram2.py, мы воспользуемся некоторыми особенностями Python, чтобы немного сократить код и сделать его элегантнее. Результат в обоих случаях один и тог же.

1.1.2. Абстрактная фабрика в духе Python

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

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

Мы порождаем SVG-код без претензии на изящество, но для демонстрации паттерна проектирования этого достаточно. Сторонние модули, поддерживающие SVG. можно найти в указателе пакетов Python (PyPI) на сайте pypi.pytlion.org.

Структурные паттерны проектирования в Python

Структурные паттерны проектирования описывают, как из одних объектов составляются другие, более крупные. Рассматриваются три основных круга вопросов: адаптация интерфейсов, добавление функциональности и работа с коллекциями объектов.

2.1. Паттерн Адаптер

Паттерн Адаптер описывает технику адаптации интерфейса. Задача состоит в том, чтобы один класс мог воспользоваться другим – с несовместимым интерфейсом – без внесения каких-либо изменений в оба класса. Это полезно, например, когда требуется воспользоваться не подлежащим изменению классом в контексте, на который он не был рассчитан.

Допустим, имеется простой класс Page, который можно использовать для отрисовки страницы, зная название, текстовые абзацы и имея экземпляр класса отрисовщика. (Весь код, демонстрируемый в этом разделе, находится в файле renderl.ру.)

Поведенческие паттерны проектирования в Python

Предмет поведенческих паттернов – способ решения задачи, то есть они имеют дело с алгоритмами и взаимодействиями объектов. Эти паттерны предлагают действенные способы обдумывания и организации вычислений. Для некоторых из них, как и для части рассмотренных выше паттернов, имеется прямая поддержка в синтаксисе Python,

Хорошо известный девиз языка Perl – «есть более одного способа решить задачу». Напротив, в «кладезе мудрости Python» (Zen of Python), составленном Тимом Петерсом, говорится «должен быть один – и в идеале только один – очевидный способ решить задачу». Но, как и в любом языке программирования, иногда способов два или больше, особенно после появления в Python списковых включений (можно использовать либо включение, либо цикл for) и генераторов (использовать выражения-генераторы или функцию с предложением yield). И, как мы увидим в этой главе, поддержка сопрограмм в Python привносит новый способ решения определенных задач.

Источник:

scanlibs.com

Python на практике, ForCoder

ForCoder

Навазние: Python на практике

Автор: Марк Саммерфилд

DJVU: 18 Мб (с исходным кодом)

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

8,834 просмотров всего, 0 просмотров сегодня

Источник:

forcoder.ru

Практика, Python списки, Языки программирования

Практика, Python списки

Научившись ранее совершать различные манипуляции со списками в Python, пора перейти и к практическим занятиям. Сейчас мы немного напряжем мозги и напишем простую программу, используя уже знакомые нам списки в Python.

Теперь мы видим такую задачу: «Создать программу, с помощью которой пользователь будет вписывать данные о том, что ему нужно приобрести в магазине. Затем, по команде, вывести весь список на экран» . Друзья, задача довольно простая, и главная ее цель – разобраться в списках на практике.

Для начала нам нужно создать сам список, в который и будут добавляться наши товары для покупок. Делаем пустой список: task = []

Затем нам нужно получить данные от пользователя, которые будут засунуты в новый список. Но как засунуть его туда? Вспомните, где находится документация, здесь. Находим список методов и видим, что append() может добавить новый элемент в конец списка. Применяем его task.append(input('Что нужно купить: ')) . Внутри пишем input() для того, чтобы получить пользовательские данные. В итоге, использование метода append() позволило нам сразу добавить нужный элемент в конец списка, который будет вводить пользователь.

Теперь можно вывести наш список: print(task) . Вуаля! Все предельно просто. Теперь я покажу более правильное решение этой задачи. Усложним нашу программу.

В данном примере использовались коды, которые вы еще не изучали, но не думайте об этом. Мы рассмотрим их позже.

Примечание: Советую вам всегда подробно комментировать ваш код, также как и я. Нужно комментировать так, чтобы через некоторое время вам было понятно, что там написано.

Читателям также нравится: Программирования на Python, PHP and etc.

Подпишись на обновления и получай свежие статьи первым! Подписаться >

Источник:

master-develop.com

Mark Summerfield скачать торрент

Mark Summerfield / Марк Саммерфилд - Python in practice / Python на практике [2014, DjVu, RUS]

Стаж: 3 года 7 месяцев

namespaceLuc ky · 07-Июл-15 09:59 (2 года 5 месяцев назад, ред. 09-Июл-15 08:14)

Автор : Mark Summerfield / Марк Саммерфилд

Переводчик : Слинкин А.

Издательство : ДМК Пресс

Качество : Отсканированные страницы

Интерактивное оглавление : Да

Количество страниц : 338

Если вы – опытный программист на Python, то после прочтения данной книги ваши программы станут более качественными, надежными, быстрыми, удобными для сопровождения и использования.

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

Издание предназначено для программистов, уже работающих на Python, но также может быть полезно и начинающим пользователям языка.

Стаж: 9 лет 1 месяц

titov_andrei · 07-Июл-15 23:03 (спустя 13 часов)

200 строк - оптимизированный вариант отличается всего лишь на 5 строк. Или при использовании паттернов меняется сама структура программы?

Стаж: 8 лет 8 месяцев

Hevding123 · 08-Июл-15 02:14 (спустя 3 часа)

Стаж: 9 лет 1 месяц

titov_andrei · 28-Авг-15 09:48 (спустя 1 месяц 20 дней)

Стаж: 8 лет 5 месяцев

void main() · 04-Сен-15 09:13 (спустя 6 дней)

Пожалуйста, переименуйте раздаваемый файл и перезалейте торрент-файл - между названием книги и годом должно стоять тире.

Стаж: 9 лет 4 месяца

anlim4eg · 02-Май-16 12:34 (спустя 7 месяцев)

Стаж: 9 лет 3 месяца

EvilMachine · 26-Сен-16 15:31 (спустя 4 месяца 24 дня)

Стаж: 4 года 10 месяцев

Utkir-1999 · 26-Сен-16 20:54 (спустя 5 часов, ред. 26-Сен-16 20:54)

Источник:

maintracker.org

Python на практике, Техническая литература

Python на практике

Создание качественных программ. Марк Саммерфилд «Python на практике» ДМК Пресс, 2014 год, 338 стр.(16,8 мб. djvu)

Вы достаточно хорошо знаете Python и хотели бы лучше использовать свои знания на практике? Тогда эта книга для вас. Автор в книге покажет вам как писать на Python более качественные программы, как их сделать быстрее, надежнее и производительнее, удобными в использовании и сопровождении.

В книге много практических примеров рассматриваемых по таким основным направлениям, как: использование паттернов, повышение быстродействия, с помощью распараллеливания, многопоточности и использования Cython (что заметно сократит время разработки кода), а также высокоуровневого сетевого программирования и работы с графикой (с помощью Tkinter из стандартной библиотеки) — то есть по самым актуальным направлениям Python-программирования.

В книге описаны наиболее полезные паттерны и проиллюстрированы на примерах, автор объясняет почему некоторые из них редко используются пишущими на Python. Издание будет интересно программистам использующим Python на практике, но может заинтересовать и начинающих пользователей языка, в плене наработки профессионального опыта.

ISBN 978-0-321-90563-5 (англ.)

ISBN 978-5-97060-095-5 (рус.)

Глава 1. Порождающие паттерны проектирования в Python 16

1.1. Паттерн Абстрактная фабрика 161

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

3.3. Паттерн Интерпретатор 99

3.3.1. Вычисление выражения с помощью еуа1() 100

3.3.2. Исполнение кода с помощью ехес() 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. Обзор модуляХрт 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. Доступ к написанным на С библиотекам с помощью пакета ctypes 207

5.2. Использование Cython 215

5.2.1. Доступ к написанным на С библиотекам с помощью 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

Источник:

www.htbook.ru

Python на практике в городе Барнаул

В нашем интернет каталоге вы сможете найти Python на практике по доступной цене, сравнить цены, а также посмотреть похожие книги в категории Компьютеры и интернет. Ознакомиться с свойствами, ценами и обзорами товара. Транспортировка производится в любой населённый пункт России, например: Барнаул, Набережные Челны, Воронеж.