Марк Лутц - Изучаем Python, Четвертое издание (1184811), страница 8
Текст из файла (страница 8)
Посколькувыбор книг является делом достаточно субъективным, я рекомендую вам самостоятельно поискать такие, которые наиболее полно будут отвечать вашимпотребностям. Неважно, какие книги вы выберете, главное – помните, что длядальнейшего изучения Python вам необходимы более реалистичные примеры,чем приводятся здесь.На мой взгляд, данная книга будет для вас отличным учебником начальногоуровня, даже несмотря на ее ограниченность (и, скорее всего, именно поэтому).Здесь вы найдете все, что необходимо знать, прежде чем приступать к созданию программ и сценариев на языке Python.
К тому моменту, когда вы закончите чтение этой книги, вы изучите не только сам язык, но и начнете понимать, как лучше применить его к решению ваших повседневных задач. Кроме1Лутц М. «Программирование на Python», 2-е изд. – Пер. с англ. – СПб.: СимволПлюс, 2002. Четвертое издание этой книги выйдет в 2011 году.2Дэвид М. Бизли «Python. Подробный справочник». – Пер.
с англ. – СПб.: СимволПлюс, 2010.30Предисловиетого, у вас будет все необходимое для изучения более сложных тем и примеров,которые будут встречаться на вашем пути.Стиль и структура книгиЭта книга основана на материалах практических курсов изучения языкаPython. В конце каждой главы содержится список контрольных вопросов с ответами, а в конце последней главы каждой части – упражнения, примеры решения которых приведены в приложении B. Контрольные вопросы подобранытак, что они представляют собой краткий обзор рассмотренного материала,а упражнения спроектированы так, чтобы сразу же научить вас правильному стилю программирования; кроме того, каждое упражнение соответствуетодному из ключевых аспектов курса.Я настоятельно рекомендую прорабатывать контрольные вопросы и упражнения в ходе чтения книги не только для приобретения опыта программированияна Python, но и потому, что в упражнениях поднимаются проблемы, которыене обсуждаются нигде в книге.
Ответы на вопросы в главах и примеры решения упражнений в приложении B в случае необходимости помогут вам выйтииз затруднительных положений.Общая структура книги также следует структуре учебного курса. Так как этакнига задумывалась как быстрое введение в основы языка программирования,изложение материала организовано так, чтобы оно отражало основные особенности языка, а не частности. Мы будем двигаться от простого к сложному: отвстроенных типов объектов к инструкциям, элементам программ и так далее.Каждая глава является полным и самостоятельным описанием одной темы, нокаждая последующая глава основана на понятиях, введенных в предыдущихглавах (например, когда речь пойдет о классах, я буду исходить из предположения, что вы уже знаете, как создаются функции), поэтому для большинствачитателей имеет смысл читать книгу последовательно.Каждая часть посвящена отдельной крупной характеристике языка – типам,функциям и так далее.
В большинстве своем примеры являются законченными небольшими сценариями (некоторые из них являются достаточно искусственными, но они иллюстрируют достижение поставленной цели).Часть I «Введение»Изучение Python мы начнем с общего обзора этого языка и с ответов на очевидно возникающие вопросы: почему кто-то использует этот язык, для решения каких задач он может использоваться и так далее. В первой главерассматриваются основные идеи, лежащие в основе технологии, которыедолжны дать вам некоторые начальные представления.
Далее начинаетсясугубо технический материал книги. Здесь мы рассмотрим, как выполняютпрограммы человек и интерпретатор Python. Цель этой части книги состоит в том, чтобы дать начальные сведения, которые позволят вам работатьс последующими примерами и упражнениями.Часть II «Типы и операции»Далее мы приступим к исследованию языка программирования Pythonи начнем его изучение с основных встроенных типов объектов, таких какчисла, списки, словари и так далее.
Обладая только этими инструментами,вы уже сможете писать достаточно сложные программы. Это самая важнаячасть книги, потому что она закладывает основу для последующих глав.Предисловие31В этой части мы также рассмотрим динамическую типизацию и ссылки –ключевые аспекты языка Python.Часть III «Инструкции и синтаксис»В этой части вводятся инструкции языка Python – программный код наязыке Python, который создает и обслуживает объекты. Здесь также будетпредставлена общая синтаксическая модель Python.
Хотя эта часть в основном сосредоточена на описании синтаксиса, тем не менее здесь приводятсясведения о дополнительных инструментальных средствах, таких как система PyDoc, и рассматриваются альтернативные стили написания программного кода.Часть IV «Функции»Здесь мы начнем рассматривать высокоуровневые способы структурирования программ на языке Python. Функции предоставляют простой способупаковки программного кода многократного использования и предотвращения появления избыточного кода. В этой части мы исследуем правилавидимости программных элементов в языке Python, приемы передачи аргументов и многое другое.Часть V «Модули»Модули Python позволяют организовать наборы инструкций и функцийв виде крупных компонентов, и в этой части будет показано, как создаватьмодули, как их использовать и перезагружать.
Мы также рассмотрим некоторые более сложные темы, такие как пакеты модулей, перезагрузка модулей и переменная __name__.Часть VI «Классы и ООП»Здесь мы приступим к исследованию объектно-ориентированного программирования (ООП). Классы – это необязательный, но очень мощный инструмент структурирования программного кода многократного использования.Вы увидите, что классы по большей части используют идеи, которые будутописаны к этому моменту, а ООП в языке Python в основном представляет собой поиск имен в связанных объектах. Здесь вы также увидите, чтообъектно-ориентированный стиль программирования в языке Python неявляется обязательным, но может существенно сократить время разработки, особенно если речь идет о долгосрочных проектах.Часть VII «Исключения и инструменты»Изучение языка мы закончим рассмотрением модели обработки исключительных ситуаций, а также кратким обзором инструментальных средств,которые особенно удобны при разработке крупных программ (например,инструменты отладки и тестирования).
Хотя тема исключений являетсядостаточно простой, тем не менее она рассматривается после изучения классов, так как теперь все исключения должны быть классами.Часть VIII «Расширенные возможности»В заключительной части мы исследуем некоторые дополнительные возможности. Здесь мы поближе познакомимся со строками Юникода и строкамибайтов, со средствами управления атрибутами, такими как свойства и дескрипторы, с декораторами функций и классов, а также с метаклассами.Эти главы не являются обязательными для прочтения, потому что далеконе всем программистам требуется близкое знакомство с темами, рассматриваемыми здесь.
С другой стороны, читатели, которым приходится зани-32Предисловиематься интернационализацией приложений, обработкой двоичных данныхили проектированием программных интерфейсов для использования другими программистами, найдут в этой части немало интересного.Часть IX «Приложения»Книга заканчивается двумя приложениями, где приводятся рекомендациипо использованию языка Python на различных платформах (приложение A)и варианты решения упражнений, которые приводятся в конце каждой части (приложение B). Ответы на контрольные вопросы, которые приводятсяв конце каждой главы, находятся непосредственно в самих главах.Обратите внимание: предметный указатель и оглавление могут использоватьсядля поиска информации, но в этой книге нет приложений со справочными материалами (эта книга – учебник, а не справочник).
Как уже говорилось выше,в качестве справочников по синтаксису и встроенным особенностям языкаPython можно использовать книгу «Python Pocket Reference» (O’Reilly), а также другие книги и руководства, представленные на сайте http://www.python.org.Обновления книгиКнига продолжает улучшаться (исправляются ошибки и опечатки). Обновления, дополнения и исправления к этой книге можно найти в сети Интернет наодном из следующих сайтов:http://www.oreilly.com/catalog/ 9780596158064/ (веб-страница книги на сайте издательства O’Reilly)http://www.rmi.net/~lutz (сайт автора книги)http://www.rmi.net/~lutz/about-lp.html (веб-страница книги на сайте автора)Последний из этих трех URL указывает на веб-страницу, где я выкладываюобновления, однако если эта ссылка окажется ошибочной, вам придется воспользоваться поисковой системой, чтобы восстановить ее.
Если бы я был ясновидящим, я указал бы точную ссылку, но Интернет меняется быстрее, чемпечатаются книги.О программах в этой книгеЭта книга и все примеры программ в ней основаны на использовании Python 3.0.Кроме того, значительная часть примеров может выполняться под управлением Python 2.6, о чем постоянно будет упоминаться в тексте и в примечанияхспециально для тех, кто использует Python 2.6.Но поскольку эта книга описывает основы языка, можно быть уверенным, чтобольшая часть материала в следующих версиях Python изменится не оченьсильно. Большая часть информации применима и к более ранним версиямPython, за исключением некоторых случаев.