Лутц М. - Изучаем Python (1077325), страница 3
Текст из файла (страница 3)
Никакая книга Предисловие не способна удовлетворить все нужды и потребности читателя, поэтому важно понимать основные цели книги. Предварительные условия В действительности книга не предъявляет никаких предварительных условий. Она с успехом использовалась как начинающими программистами, так и умудренными опытом ветеранами. Если у вас есть желание изучать Ру$Ьоп, эта книга наверняка поможет вам. Наличие у читателя некоторого опыта в программировании не является обязательным, но будет совсем не лишним.
Эта книга задумывалась как введение в Ру$Ьоп для программистов. Возможно, она не идеальна для тех, кто раньше никогда не имел дела с компьютерами (например, мы не будем тратить время, чтобы объяснять, что такое компьютер), но я не делал никаких предположений о наличии у читателя опыта программирования или об уровне его подготовки. С другой стороны, — я не считаю нужным обижать читателей, предполагая, что они «чайники», что бы зто ни означало, — писать полезные программы на языке Ру1Ьоп просто, и эта книга покажет, как это делается. В книге Ру1Ьоп иногда противопоставляется другим языкам программирования, таким как С, С++, дача™ и Разса1, но эти сравнения можно просто игнорировать, если ранее вам не приходилось работать с этими языками программирования.
Отношения этой книги с другими книгами Эта книга охватывает все основные аспекты языка программирования Ру1Ьоп, но при этом я старался ограничить круг обсуждаемых тем, чтобы уменьшить объем книги. Для сохранения простоты в ней рассматриваются самые основные понятия, используются небольшие и очевидные примеры и опущены некоторые незначительные детали, которые вы найдете в справочных руководствах.
По этой причине данная книга скорее должна рассматриваться как введение, как первый шаг к другим, более специализированным и более полным книгам. Например, мы не будем говорить об интеграции РуВЬоп/С вЂ” это слишком сложная тема, которая, однако, является центральной для многих систем, основанных на применении Ру1Ьоп. Мы также не будем говорить об истории развития РуФЬоп и о процессе его разработки.
А таких популярных применений РуФЬоп, как создание графического интерфейса, разработка системных инструментов и работа с сетью, мы коснемся лишь очень кратко, если они вообще будут упоминаться. Естественно, при таком подходе из поля зрения выпадает значительная часть общей картины. Вообще говоря, Ру1Ьоп стоит на более высоком качественном уровне относительно других языков в мире языков сценариев.
Некоторые из его идей требуют более глубокого изучения, чем может вместить эта книга, поэтому с моей стороны было бы ответственно порекомендовать Предисловие продолжить его изучение после того, как вы закончите читать эту книгу. Я надеюсь, что большинство читателей продолжит изучение принципов разработки приложений на этом языке, обратившись к другим источникам информации. Ориентированная в основном на начинающих программистов, книга «Изучаем РуФЬоп» может быть дополнена другими книгами издательства О'Ве111у о языке РуФЬоп. Например, существует еще одна моя книга «Ргоягапнп!пя РуФЬоп», содержащая более объемные и полные примеры наряду с описанием приемов прикладного программирования, которая задумывалась как продолжение книги, которую вы сейчас читаете.
Текущие издания книг «Изучаем РуФЬоп» и «Ргоягашш)па Ру$Ьоп» представляют собой две части курса обучения, который преподает автор, — основы языка и прикладное программирование. Кроме того, в качестве справочника можно использовать еще одну книгу издательства О'Ве11!у, «РуФоп Рос)се$ ВеГегепсе», где приводятся некоторые подробности, опущенные здесь. Для дальнейшего изучения можно порекомендовать книги, содержащие дополнительные сведения, примеры или особенности использования языка РуФЬоп в определенных прикладных областях, таких как веб-приложения и создание графических интерфейсов.
Например, книги «Ру$Ьоп (п а Хи1зЬе11» (О'Ве11у) и «РуФоп Кавелла! Вегегепсе» (Ваша) содержат справочную информацию. Книга «РуФЬоп СооЬЬоо!с» (О'Ве1!1у) представляет собой сборник примеров для тех, кто уже знаком с приемами прикладного программирования. Поскольку выбор книг является делом достаточно субъективным, я рекомендую вам самостоятельно поискать такие, которые наиболее полно будут отвечать вашим потребностям. Неважно, какие книги вы выберете, главное чтобы вы помнили, что для дальнейшего изучения Ру1Ьоп вам необходимы более реалистичные примеры, чем приводятся здесь.
На мой взгляд, эта книга будет для вас отличным учебником начального уровня, даже несмотря на ее ограниченность (и скорее всего именно поэтому). Здесь вы найдете все, что необходимо знать, прежде чем приступать к созданию программ и сценариев на языке Ру$Ьоп. К тому моменту, когда вы закончите чтение этой книги, вы изучите не только сам язык, но и начнете понимать, как лучше применить его к решению ваших повседневных задач.
Кроме того, у вас будет все необходимое для изучения более сложных тем и примеров, которые будут встречаться на вашем пути. Стиль и структура книги Эта книга основана на материалах трехдневных практических курсов изучения языка Ру1Ьоп. В конце каждой главы содержится список контрольных вопросов, а в конце последней главы каждой части — упражнения. Ответы на контрольные вопросы приводятся непосредственно в самих главах, а примеры решения упражнений — в приложении В.
Предисловие г1 Контрольные вопросы подобраны так, что они представляют собой краткий обзор рассмотренного материала, а упражнения спроектированы так, чтобы сразу же научить вас правильному стилю программирования и, как правило, каждое упражнение соответствует одному из ключевых аспектов курса. Я настоятельно рекомендую прорабатывать контрольные вопросы и упражнения в ходе чтения книги не только для того, чтобы получить опыт программирования на Ру1Ьоп, но и потому, что в упражнениях поднимаются проблемы, которые не обсуждаются нигде в книге.
Ответы на вопросы в главах и примеры решения упражнений в приложении В в случае необходимости помогут вам выйти из затруднительных положений (вы можете заглядывать в ответы так часто, как это потребуется). Общая структура книги также следует структуре учебного курса. Так как эта книга задумывалась как быстрое введение в основы языка программирования, изложение материала организовано так, чтобы оно отражало основные особенности языка, а не частности.
Мы будем двигаться от простого к сложному: от встроенных типов объектов к инструкциям, элементам программ и т. д. Каждая глава является полным и самостоятельным описанием одной темы, но каждая последующая глава основана на идеях, введенных в предыдущих главах (например, когда речь пойдет о классах, я буду исходить из предположения, что вы уже знаете, как создаются функции), поэтому для большинства читателей имеет смысл читать книгу последовательно.
В общих чертах, эта книга описывает язык программирования Ру(поп при движении от простого к сложному. Каждая часть посвящена отдельной крупной характеристике языка — типам, функциям и т.д. В большинстве своем примеры являются законченными небольшими сценариями (некоторые из них являются достаточно искусственными, но они иллюстрируют достижение поставленной цели). Если быть более точным, здесь вы найдете: Часть 1.
Введение Изучение Ру1Ьоп мы начнем с общего обзора этого языка и с ответов на очевидно возникающие вопросы: почему кто-то использует этот язык, для решения каких задач он может использоваться и т. д. В первой главе рассматриваются основные идеи„лежащие в основе технологии, которые должны дать вам некоторые начальные представления. Далее начинается сугубо технический материал книги. Здесь мы рассмотрим, как выполняют программы человек и интерпретатор Рус)1оп. Цель этой части книги состоит в том, чтобы дать вам начальные сведения, которые позволят вам работать с последующими примерами и упражнениями.
Часть 11. Типы и операции Далее мы приступим к исследованию языка программирования РуФЬоп и начнем его изучение с основных типов объектов, таких как числа, списки, словари и т. д. Обладая только этими инструментами, 22 Предисловие вы уже сможете писать достаточно сложные программы. Это самая важная часть книги, потому что она закладывает основу для последующих глав.
В этой части мы также рассмотрим динамическую типизацию и ссылки — ключевые аспекты языка Ру$иоп. Часть П1. Инструкции и синтаксис В следующей части вводятся инструкции языка Ру$Ьоп — программный код на языке Ру1йоп, который создает и обслуживает объекты. Здесь также будет представлена общая синтаксическая модель Руспоп. Хотя эта часть в основном сосредоточена на описании синтаксиса, тем не менее, здесь приводятся сведения о дополнительных инструментальных средствах, таких как система РуОос, и рассматриваются альтернативные стили написания программного кода. Часть 1Ч. Функции В этой части мы начнем рассматривать выскоуровневые способы структурирования программ на языке Ру1Ьоп. Функции предоставляют простой способ упаковки программного кода многократного использования и предотвращения появления избыточного кода.