Программирование на Python, 4-е издание, I том (файл PDF)

Программирование на Python, 4-е издание, I том (файл PDF)

Марк Лутц

     2

электронная книга Лучший выбор


Издательство: Символ-Плюс
Дата выхода: сентябрь 2011
Размер файла: 17932 Кб

Вы овладели основами Python. Что дальше?

Монументальный труд Марка Лутца «Программирование на Python» в 2-х томах представляет собой учебник по применению языка Python для решения наиболее типичных задач в различных прикладных областях. В нем рассказывается о применении языка Python в системном администрировании, для создания графических интерфейсов и веб­приложений и исследуются приемы программирования сетевых взаимодействий, взаимодействий с базами данных, обработки текста, создания интерфейсов для сценариев и во многих других областях. Несмотря на то, что на протяжении всей книги используется язык Python, тем не менее основное внимание будет уделяться не основам языка, а приемам решения практических задач. Попутно книга ставит своей целью познакомить читателя с часто используемыми инструментами и библиотеками. Таким образом, данная книга является ресурсом, позволяющим читателю получить более глубокое понимание роли языка Python в практике программирования.

 

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

 

В четвертое издание включено описание новых особенностей языка, библиотек и практических приемов программирования для Python 3.X. В частности, примеры, представленные в книге, выполняются под управлением интерпретатора версии Python 3.1 – наиболее свежей версии Python на момент написания этих строк. Непосредственно перед публикацией книги все основные примеры были опробованы под третьей альфа­версией Python 3.2, но, вообще говоря, они должны сохранить свою работоспособность при использовании любой версии Python из линейки 3.X.

 

Первый том включает первые 3 части оригинального весьма объемного издания.

 

Часть I (глава 1) посвящена краткому экскурсу, в котором рассматриваются фундаментальные понятия языка Python и представляются некоторые из наиболее типичных приемов его использования. В главе обсуждается простой пример – запись информации о людях, который на протяжении книги рассматривается в самых разных ситуациях, что позволит встретиться с базами данных, графическими интерфейсами, веб-сайтами и др. Эта своего рода демонстрационная глава задумывалась с целью возбудить у читателя интерес. Здесь не исследуются все аспекты, но у нас будет возможность увидеть Python в действии, прежде чем мы погрузимся в детали. Данная глава служит также обзором некоторых базовых идей языка, с которыми вы должны быть знакомы, прежде чем приступите к чтению этой книги, такими как представление данных и объектно-­ориентированное программирование (ООП).

 

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

 

В части II представлены инструменты Python для системного программирования – интерфейсы к службам операционной системы, а также к контексту выполнения программы. Глава 2 представляет собой полный обзор часто используемых инструментов системного программирования. Она знакомит с инструментами и приемами, которые используются далее в этой книге, и отчасти может применяться как справочник. Глава 3 продолжает тему, начатую в главе 2, и показывает, как работать со стандартными потоками ввода­вывода, аргументами командной строки, переменными окружения и многим другим. Глава 4 продолжает знакомить с системными интерфейсами и описывает инструменты и приемы, используемые при работе с файлами и каталогами. В этой главе мы познакомимся с двоичными файлами, с приемами обхода деревьев и т. д. Глава 5 служит введением в поддержку библиотекой Python параллельного выполнения программ. Здесь вы найдете описание потоков выполнения, механизма ветвления процессов, каналов, сокетов, сигналов, очередей и т. п. Глава 6 содержит коллекцию типичных примеров системного программирования, основанных на материале глав 2–5. Представленные здесь сценарии Python выполняют реальные задачи, демонстрируют среди прочего, как разрезать и объединять файлы, сравнивать и копировать каталоги, тестировать другие программы, а также отыскивать и запускать выполняемые файлы.

 

Хотя в части II особое значение придается задачам системного программирования, представленные в ней средства являются универсальными и будут часто использоваться в последующих главах.

 

Часть III демонстрирует, как применять Python для создания переносимых графических интерфейсов пользователя, в первую очередь с помощью стандартной библиотеки Python tkinter. В главе 7 рассматриваются возможности создания графических интерфейсов, доступные в языке Python, а затем представлен учебный материал, иллюстрирующий базовые понятия программирования с использованием tkinter. Глава 8 начинает обзор двух частей библиотеки tkinter – набора графических элементов и сопутствующих инструментов. В первой части обзора рассказывается о наиболее простых инструментах и графических элементах библиотеки: всплывающих окнах, различных видах кнопок, изображениях и т. д. Глава 9 – продолжение обзора библиотеки графических элементов tkinter, включая меню, текст, холст, полосы прокрутки, сетки, события таймера и анимацию. В главе 10 рассматриваются приемы программирования графических интерфейсов. Мы узнаем, как автоматически конструировать меню из шаблонов объектов, как запускать графический интерфейс в виде отдельной программы, как реализовать выполнение продолжительных операций параллельно с основной программой с помощью потоков выполнения и очередей и многое другое. Глава 11 объединяет идеи из предыдущих глав для реализации набора интерфейсов пользователя. Здесь представлены более крупные примеры графических интерфейсов – часов, текстовых редакторов, программ для рисования и просмотра графических изображений и других, которые также демонстрируют приемы программирования на Python в целом.

 

Материал, представленный в части III, применим в целом ряде областей и будет снова использован в последующих главах книги для создания интерфейсов, настроенных на конкретные области применения. Так, примеры PyMailGUI и PyCalc в последующих главах предполагают, что вы знакомы с основами, охватываемыми в части III.

 

Об авторе

 

Марк Лутц (Mark Lutz) является ведущим специалистом в области обучения языку программирования Python и автором самых ранних и наиболее популярных публикаций. Он известен в сообществе пользователей Python своими новаторскими идеями.

 

Марк является автором книг «Learning Python» («Изучаем Python», 4-е издание, Символ-Плюс, 2010), «Programming Python» («Программирование на Python», 4-е издание, в 2-х томах, Символ-Плюс, 2011) и «Python Pocket Reference», выпущенных издательством O’Reilly, каждая из которых претерпела уже четыре издания. Лутц использует Python и занимается его популяризацией начиная с 1992 года; книги о Python начал писать в 1995 году; преподаванием этого языка программирования стал заниматься с 1997 года. На начало 2010 года Марк провел 250 курсов, обучил более 3500 студентов, написал книги по языку Python, которые были переведены более чем на десять языков и суммарный тираж которых составил примерно четверть миллиона копий.

 

Лутц обладает степенями бакалавра и магистра в области информатики, закончил университет штата Висконсин (США). На протяжении последних 25 лет занимался разработкой компиляторов, инструментальных средств программиста, приложений и разнообразных систем в архитектуре клиент-сервер. Связаться с Марком можно через веб­сайт книги http://rmi.net/~lutz и веб­сайт курсов, которые он ведет: http://learning­python.com.

 

Отзывы специалистов

 

"В этих главах вы найдете все - от приемов отладки до рекомендаций по проектированию, что поможет вам решать масштабные задачи и обходить типичные препятствия."

Диана Донован (Diane Donovan) California Bookwatch

Отзывы читателей

 

Может ли справочное руководство быть слишком подробным?, 9 января 2011

 

Бобби Линн (Bobbie Lynn), США

Книга "Программирование на Python" является руководством по практическому применению Python в реальном мире и предназначена для тех, кто уже знаком с этим языком программирования. Важно отметить, что все сведения, что приводятся здесь (4 издание, декабрь 2010 года), относятся к версии 3.X Python и применимы к версии 2.X лишь там, где они перекрываются. Поэтому вам лучше обратиться к более раннему изданию книги (или к другой книге, подробно описывающей обе версии), если вы работаете над проектом, требующим использования более ранних версий Python.

Книга содержит гигантский объем информации и включает примеры программного кода практически на каждой странице.

Основное внимание в книге уделяется практическому применению языка Python для решения конкретных задач, поэтому просто здорово, что она вышла в издательстве O'Reilly. Оно неуклонно следует своей политике издания книг по программированию, разрешая вам использовать примеры программного кода в своих проектах и предоставляя доступ к исправлениям для всех своих книг на своем веб-сайте.

Если вам необходимо руководство о том, как решать разнообразные задачи, от создания графических интерфейсов до организации взаимодействий с базами данных SQL, в лице книги "Программирование на Python" вы найдете весьма подробный источник информации.

 

Верный выбор для прикладных программистов на Python 3, 17 февраля 2011

 

Джон Бредли (John Brady), США

Четвертое издание "Программирование на Python" - отличная книга для прикладных пользователей языка Python (разработчиков и тех, кто пишет простые сценарии), использующих в основном версию Python 3. Автор предполагает наличие у читателя знаний об основах Python и их готовность работать с имеющейся документацией по этому языку. Это не справочник, скорее это расширенное учебное руководство, несмотря на огромный объем (1600 страниц).

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

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

Я был несколько разочарован главами, посвященными базам данных и SQL, так как, на мой взгляд, они оказались относительно общими и единственными в книге, которые не дали мне ничего нового.

 

Отличная книга, если вы программист и не новичок, 25 марта 2011

 

healthyfatboy

Для тех, кто стремится повысить свое мастерство владения языком Python, книга Марка Лутца "Программирование на Python" является отличным инструментом достижения этой цели. Если вы начинающий программист и хотите изучить язык Python, вам следует начать с книги Марка Лутца "Изучаем Python", которая даст вам необходимую основу. После этого вы сможете приступить к этой книге.

Мне было интересно изучить язык Python, но я не заметил, что существует книга "Изучаем Python", поэтому я сразу приобрел книгу "Программирование на Python". К счастью, у меня есть опыт работы с парой языков, поэтому я смог почерпнуть из этой книги все необходимые мне знания. Здесь вы найдете множество удачных примеров, объясняющих то, что вы пытаетесь узнать. Подобно другим книгам издательства O'Reilly, здесь также приводится значительный объем программного кода, который поможет вам глубже вникнуть во все темы, охватываемые книгой. Алфавитный указатель достаточно удобен и позднее, когда вам потребуется что-то срочно отыскать, его можно будет использовать как справочник.

Для меня особенно интересной показалась глава 20, рассказывающая об интеграции Python с языком C. Учитывая, что язык C широко применяется для разработки большинства операционных систем, эта глава была для меня особенно полезной, поскольку она помогла мне разобраться с особенностями организации взаимодействий этих двух языков программирования. На работе мне в основном приходилось работать с системой MATLAB. MATLAB также может взаимодействовать с языком C, и это отличная система, но дорогая. Python - замечательный язык программирования, распространяемый с открытыми исходными текстами, позволяющий любому, кто не обладает большим бюджетом, реализовать все то, что умеет MATLAB, а его способность взаимодействовать с языком C просто превосходна, и эта глава позволит вам использовать эти возможности.

Я настоятельно рекомендую эту книгу всем, кто желает глубже проникнуть в тонкости языка Python. Если у вас уже есть опыт программирования, особенно на языке с поддержкой ООП, тогда вы не будете испытывать затруднений. Если у вас нет такого опыта, тогда, как я уже говорил, начните с книги "Изучаем Python". Так вам будет проще.

 

Обретите знание языка Python, 26 июля 2011

 

Михаль Овсяк (Michal Owsiak)

"Программирование на Python" принадлежит к книгам, которые способны убить, если сбросить их с высоты. Я не эксперт в языке Python, а скорее программист волею случая. Меня больше интересует связка Java-Python и я искал книгу, которая могла бы стать отправной точкой. Книга "Программирование на Python" охватывает огромное количество аспектов, так или иначе связанных с языком Python, она хорошо структурирована и охватывает самую последнюю версию Python (версию 3).

"Программирование на Python" нельзя назвать типичной книгой о программировании - самая известная программа "Hello world" встречается в ней только на 129 странице. Это скорее справочник по языку Python, нежели книга по программированию. Марк описывает многие типичные проблемы, с которыми приходится сталкиваться большинству программистов. Что хорошего в этой книге, так это наличие простых и понятных примеров, имеющих практическую ценность - основная ее суть. Однако иногда сладкие продукты могут иметь горький привкус, если неправильно приготовить их. Что мне не понравилось в книге, так это огромные листинги программного кода. На мой взгляд, 20-страничный листинг - это напрасная трата места в книге. Я предпочитаю пользоваться внешними ресурсами (компакт-диски, архивы с примерами на ftp-сервере), а не читать программный код в книге (это все равно что вернуться обратно в 90-е). Чего мне не хватило в книге, так это описания интеграции Python/Java. Я использую Python в Java-приложениях и мне хотелось бы получить больше информации по этой теме, примерно как в описании интеграции Python/C. Могу ли я порекомендовать эту книгу? Если вы ищете справочник по языку Python - да, если же вы ищете информацию по связке Java-Python - нет.

 

Выдающаяся книга, снабженная практическими примерами и приложениями, способная украсить любое собрание книг по программированию, 15 апреля 2011

 

Книжное обозрение Среднего Запада (Oregon, штат Висконсин, США)

Четвертое издание книги "Программирование на Python" Марка Лутца охватывает Python 3x и фактически может считаться "библией" по объектно-ориентированному программированию. Она целиком посвящена применению языка Python и предназначена для тех, кто овладел его основами. Книга рассматривает самые разные темы, от синтаксиса языка и приемов программирования до правильного его использования. Примеры программного кода подчинены цели сделать ее выдающейся книгой, снабженной практическими примерами и приложениями, способной украсить любое собрание книг по программированию.