Автор: | Лутц М. |
Страниц: | 992 |
Масса: | 1500 |
Обложка: | твердая |
Издана: | Октябрь 2011 |
Монументальный труд Марка Лутца "Программирование на Python" в 2-х томах представляет собой учебник по применению языка Python для решения наиболее типичных задач в различных прикладных областях. В нем рассказывается о применении языка Python в системном администрировании, для создания графических интерфейсов и вебприложений и исследуются приемы программирования сетевых взаимодействий, взаимодействий с базами данных, обработки текста, создания интерфейсов для сценариев и во многих других областях. Несмотря на то, что на протяжении всей книги используется язык Python, тем не менее основное внимание будет уделяться не основам языка, а приемам решения практических задач. Попутно книга ставит своей целью познакомить читателя с часто используемыми инструментами и библиотеками. Таким образом, данная книга является ресурсом, позволяющим читателю получить более глубокое понимание роли языка Python в практике программирования. Кроме того, исследуется пригодность языка Python на роль инструмента разработки программного обеспечения, в отличие от просто инструмента "создания сценариев".
В четвертое издание включено описание новых особенностей языка, библиотек и практических приемов программирования для Python 3.X. Примеры, представленные в книге, опробованы под третьей альфаверсией Python 3.2.
Второй том включает части IV, V и VI оригинального издания.
В части IV "Создание сценариев для Интернета" рассматриваются роль Python как языка программирования приложений для Интернета и инструменты в его библиотеке для поддержки этой роли. Попутно привлекаются к использованию инструменты конструирования графических интерфейсов, представленные в 1-м томе книги. Поскольку это популярная область применения Python, главы данной части охватывают все направления.
В главе 12 обсуждаются основные понятия, связанные с Интернетом, рассматриваются низкоуровневые сетевые инструменты Python, такие как сокеты, а также основы программирования архитектуры клиент-сервер.
В главе 13 показано, как сценарии могут использовать инструменты языка Python для доступа к стандартным сетевым протоколам клиента, таким как FTP, HTTP, протоколы электронной почты и другие.
Глава 14 демонстрирует использование клиентских инструментов электронной почты, описанных в главе 13, а также приемы конструирования графических интерфейсов из части III книги (том 1) для реализации полнофункционального клиента электронной почты.
Глава 15 освещает основы создания CGI-сценариев на языке Python, выполняемых на стороне сервера, - программ, используемых для реализации интерактивных веб-сайтов.
Глава 16 демонстрирует приемы реализации веб-сайтов с помощью Python на примере реализации веб-интерфейса для доступа к электронной почте, отчасти в противовес и для сравнения с обычным решением, представленным в главе 14.
Кроме того, в главе 12 дается краткий обзор дополнительных инструментов Python для создания интернет-приложений, таких как Jython, Django, App Engine, Zope, PSP, pyjamas и HTMLgen, более полное описание которых вы найдете в соответствующих ресурсах.
В части IV используются общие концепции программирования, такие как объектно-ориентированное программирование (ООП), рефакторинг программного кода и повторное его использование. Вы увидите, что Python, графические интерфейсы и сетевые инструменты составляют мощную комбинацию.
В части V "Инструменты и приемы" собраны дополнительные темы, касающиеся разработки приложений на языке Python. Большинство представленных здесь инструментов может быть использовано в самых разных областях прикладного программирования.
Глава 17 освещает часто используемые и развитые технологии Python хранения информации между запусками программы - файлы DBM, сериализация объектов, хранилища объектов и интерфейсы Python к базам данных SQL - и кратко знакомит с полноценными объектно-ориентированными базами данных (OODB), такими как ZODB, а также с механизмами объектно-реляционного отображения (ORM), такими как SQLObject и SQLAlchemy. В примерах работы с базами данных SQL используется поддержка SQLite, входящая в состав стандартной библиотеки Python, но сам прикладной интерфейс с легкостью можно перенести на использование более крупных систем, таких как MySQL.
В главе 18 рассматриваются приемы реализации более сложных структур данных на языке Python - стеков, множеств, двоичных деревьев поиска, графов и других. В Python они принимают форму реализаций объектов.
В главе 19 изучаются инструменты и приемы, используемые в языке Python для синтаксического анализа текстовой информации - разбиение и объединение строк, поиск с применением регулярных выражений, анализ документов XML, анализ методом рекурсивного спуска и более сложные темы, связанные с языками.
В главе 20 представлены приемы интеграции - расширение Python с помощью компилируемых библиотек и встраивание программного кода на языке Python в другие приложения. Несмотря на то, что основное внимание уделяется связыванию Python с откомпилированным программным кодом на языке C, тем не менее мы также коснемся вопросов интеграции с Java, .NET и другими языками. В этой главе предполагается, что вы умеете читать программы на языке C, и она предназначена, главным образом, для разработчиков, занимающихся реализацией прикладных уровней интеграции.
Это последняя часть книги, посвященная чистому языку Python. Она интенсивно использует инструменты, представленные ранее в книге, делая особый упор на повторное использование программного кода. Например, калькулятор с графическим интерфейсом (PyCalc) служит демонстрации понятий обработки языков и повторного использования программного кода.
Подобно части I книги (том 1), последняя часть VI "Финал" состоит из одной главы 21, в которой подводятся некоторые итоги. В главе обсуждаются роль Python и область его применения. В ней исследуются некоторые более широкие идеи о круге обычного применения Python, а кроме того, кратко представлены его расширенные возможности. Большая часть этой главы представляет философский взгляд на вещи, но помимо этого в ней выделяются некоторые основные причины использования таких инструментов, как Python.
В книге отсутствуют приложения справочного характера. За дополнительными справочными материалами обращайтесь к стандартным руководствам по языку Python, доступным в Интернете, или к коммерческим печатным справочникам, таким как "Python Pocket Reference" издательства O'Reilly, и другим, которые вы сможете отыскать в привычных местах в Интернете.
Дополнительный материал по базовому языку Python можно найти в книге "Изучаем Python". В 4-м издании этой книги исследуются более сложные инструменты языка, такие как свойства, дескрипторы, декораторы и метаклассы, которые мы пропустили здесь, потому что они относятся к категории базовых особенностей. В книге "Изучаем Python" также более подробно, чем здесь, рассматриваются вопросы работы с текстом Юникода, так как это является отличительной особенностью Python 3.
Об авторе
Марк Лутц (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://learningpython.com.
Отзывы читателей
Может ли справочное руководство быть слишком подробным?, 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 и предназначена для тех, кто овладел его основами. Книга рассматривает самые разные темы, от синтаксиса языка и приемов программирования до правильного его использования. Примеры программного кода подчинены цели сделать ее выдающейся книгой, снабженной практическими примерами и приложениями, способной украсить любое собрание книг по программированию.