Лутц М. - Изучаем Python (1077325), страница 2
Текст из файла (страница 2)
Инструкция Фгу/Г!па! ! у Объединенная инструкция $гу/ехсерС/Впа11у .. Инструкция га1ве . Инструкция аввегс Контекстные менеджеры и1!и/ав В заключение. Закреплениепройденного. 28. Объекты исключений Исключения на основе строк. Исключения на основе классов. Общие формы инструкции га1ве .. В заключение. Закрепление пройденного . 29. Использование исключений . Вложенные обработчики исключений . Идиомы исключений Советы по применению исключений ..
Типичные проблемы при работе с исключениями.. Заключение по основам языка В заключение. Закрепление пройденного .. ЧШ. Приложения А. Установка и настройка В. Решения упражнений Алфавитный указатель.. 701 ,. 702 . 704 . 709 . 716 .. 718 . 722 . 725 726 ,. 731 . 732 ,. 733 . 734 . 735 , 747 .
748 749 . 751 . 751 . 756 . 760 ,. 764 . 766 . 771 , 772 , 775 . 777 . 786 .. 824 Предисловие Эта книга представляет собой введение в язык программирования РуФЬоп. РуФЬоп — это популярный язык программирования, используемый как для разработки самостоятельных программ, так и для создания прикладных сценариев в самых разных областях применения. Это мощный, переносимый, простой в использовании и свободно распространяемый язык программирования.
Цель этой книги — позволить вам быстро овладеть основными принципами базового языка РусЬоп независимо от уровня вашей подготовки. Прочитав эту книгу, вы получите объем знаний, достаточный для использования Ру(Ьоп в самых разных областях, О третьем издании За четыре года, прошедшие с момента выхода второго издания книги в 2003 году, произошли существенные изменения как в самом языке Ру(Ьоп, так н в темах, которые я представляю на своих курсах обучения языку Ру(Ьоп. Я постарался оставить как можно больше из предыдущего издания, кроме того, это новое издание отражает изменения последнего времени, появившиеся в самом языке Ру$Ьоп и в обучении языку РуФЬоп. Помимо этого была несколько изменена структура книги. Изменения в языке РУ1Ьоп Если говорить о версии языка, это издание описывает РУФЬоп 2.5 и отражает все изменения, появившиеся в языке с момента выхода второго издания книги.
(Во втором издании описывался язык РУСЬоп 2.2 и некоторые нововведения версии 2.3.) Кроме того, в этом издании обсуждаются изменения, которые ожидаются в версии Ру(Ьоп 3.0. Ниже приводится список основных тем, касающихся языка программирования, которые вы найдете в этом издании: ° Новая условная конструкция В 1( А е1зе С (глава 12). ° Оператор контекста н1тз/зз (глава 27).
° Унификация конструкции т гу/ехсерт/Г(пз11у (глава 27). ° Синтаксис относительного импорта (глава 21). ° Выражения-генераторы (глава 17). ° Новые особенности функций-генераторов (глава 17). 16 Предисловие ° Функции-декораторы (глава 26). ° Объектный тип множества (глава 5). ° новые встроенные функции: врг1еб, всв, алу, в11, елвзегзге (главы 4 и 13). ° Объектный тип десятичных чисел с фиксированной точностью представления (глава 5). ° Расширенные сведения о файлах, списках, итераторах и многом другом (главы 13 и 17). ° Новые инструменты разработки: Ес!1рве, Ссвш111в, сшггевг и Ссс1евс, расширения 1П1 Е, ЯЬес(вй(п и т. д. (главы 3 и 29). Менее значительные изменения в языке (такие, как широко используемые значения Тгсе и га1ве, новая функция вув ехс 1л1'с, которая возвращает подробную информацию об исключении, и обработка строковых исключений, методы для работы со строками и встроенные функции арр1у и гевссе) обсуждаются на протяжении всей книги.
Кроме того, здесь приводится расширенное описание некоторых новых особенностей, впервые появившихся в предыдущем издании, включая третье измерение при работе со срезами и передачу произвольного числа аргументов функции, включая функцию арр1у. Изменения в обучении языку РуФоп Кроме уже перечисленных изменений в самом языке это издание книги дополнено новыми темами и примерами, наработанными мною при преподавании на курсах обучения языку Ру$Ьоп в последние годы. Например, здесь вы найдете: ° Новую главу о встроенных типах (глава 4). ° Новую главу о синтаксических конструкциях (глава 10). ° Полностью новую главу о динамической типизации с углубленным освещением этого вопроса (глава 6).
° Расширенное введение в ООП (глава 22). ° Новые примеры работы с файлами, областями видимости, вложенными инструкциями, классами, исключениями и т. д. Множество изменений и дополнений было сделано, чтобы облегчить чтение книги начинающим программистам. Учитывая опыт преподавания языка Ру1Ьоп на курсах, обсуждение некоторых моментов было перенесено в другие, более соответствующие тематике разделы. Например, описание списков и итераторов теперь приводится вместе с описанием оператора цикла гсг, а не с описанием функциональных инструментов, как это было ранее. Поскольку книга фактически превратилась в стандартный учебник по Ру$Ьоп, в этом издании существенно расширено описание основ языка, изложение материала стало более полным и наглядным.
Предисловие В дополнение в этом издании приводится полностью обновленный комплект советов и рекомендаций, подобранных из опыта преподавания в течение последних 10 лет и практического использования Руьпоп в течение последних 15 лет. Также были дополнены и расширены учебные упражнения — с целью отразить наиболее удачные современные приемы программирования на языке Рубанов, его новые особенности н показать наиболее типичные ошибки, которые совершают начинающие программисты на моих курсах.
Вообще основы языка в этом издании обсуждаются более широко, чем в предыдущих изданиях, во-первых, потому что сам язык был расширен, а во-вторых, потому что я добавил немало информации, которая имеет важное значение для практического применения. Структурные изменения в этом издании Учитывая разросшийся объем книги, материал, как и в предыдущем издании, разбит на несколько частей. Чтобы облегчить усвоение основ языка, весь материал поделен на несколько частей, каждая из которых содержит несколько глав. Например, типы и инструкции теперь описываются в двух разных частях, в каждой из которых основным типам и инструкциям отведены отдельные главы. Новая структура позволяет сказать больше, не перегружая читателя при этом.
При переработке материала упражнения и описания наиболее распространенных ошибок были перемещены из конца главы в конец части, и теперь они приводятся в конце последней главы каждой части. Упражнения, которые приводятся в конце каждой части, я также дополнил в этом издании кратким обзором и контрольными вопросами вконце каждой главы, что должно помочь вам «пролистать» прочитанный материал. Каждая глава заканчивается серией вопросов, которые помогут вам проверить, насколько хорошо вы поняли изложенный материал.
В отличие от упражнений в конце каждой части, решения для которых приводятся в приложении В, ответы на вопросы в конце каждой главы следуют непосредственно за вопросами. Я рекомендую просматривать ответы, даже если вы уверены, что правильно ответили на вопросы, потому что эти ответы, кроме всего, являются кратким обзором только что пройденной темы. Несмотря на наличие новых тем, эта книга по-прежнему ориентирована на тех, кто только начинает знакомство с языком Руьпоп. Она задумывалась как учебник по Рутпоп для программистов'.
Во многом она унаследовала из первых двух изданий и материал, и структуру, и акценты подачи материала. Где это необходимо, я расширил вводную Под «программнстамн«я подразумеваю всех, кто в прошлом написал хотя бы одну строчку программного кода на любом языке программирования. Если вы не относитесь к этой категории, эта книга всв равно будет вам полезна, но вы должны знать, что она в основном обучает языку РуФпоп, а не основам программирования.
Предисловие часть для начинающих и отделил более сложные темы от основного потока обсуждения, чтобы не усложнять описание основ. Поскольку это издание в значительной степени основано на проверенном временем опыте преподавания, оно, как и первые два, может служить вводным курсом для самостоятельного изучения языка Ру1Ьоп. Ограничение области применения книги Третье издание представляет собой учебник по основам языка программирования Ру1Ьоп и ничего больше. Здесь приводятся всесторонние сведения о языке, которые необходимо знать, прежде чем приступать к практическому его использованию. Материал подается в порядке постепенного усложнения и дает полное представление о языке программирования, не фокусируясь на областях его применения.
Для некоторых «изучить Ру1Ьоп» означает потратить час-другой на изучение руководств в сети Интернет. Такой подход пригоден для опытных программистов — в конце концов, Ру$Ьоп — довольно простой язык по сравнению с другими языками программирования. Однако проблема такого ускоренного изучения состоит в том, что на практике программисты часто сталкиваются с необычными случаями необъяснимого изменения значений переменных, параметров по умолчанию и т.д. Цель этой книги состоит в том, чтобы дать твердое понимание основ языка Ру1Ьоп, чтобы даже самые необычные случаи находили свое объяснение.
Это ограничение было введено преднамеренно. Ограничившись обсуждением основ языка, мы можем заняться более глубоким и полным их исследованием. Более полное обсуждение темы прикладного использования Ру1Ьоп и справочные материалы, не вошедшие в эту книгу, вы найдете в других публикациях издательства О'Ве111у, таких как «Ргойтаппп1пя Ру1Ьоп», «Ру1Ьоп Соо)«Ьоо1с», «РуФЬоп 1и а Ыи1вЬе11» и «РуФЬоп Рос)се1 ВеГегепсе». Цель книги, которую вы сейчас читаете, состоит исключительно в изучении языка Ру1Ьоп, чтобы потом вы смогли применять его для решения прикладных задач, независимо от предметной области, в которой вы работаете. По этой причине некоторые справочные материалы и разделы предыдущих изданий (примерно 15 процентов предыдущего издания) были вырезаны с целью расширить разделы с описанием основ языка Ру1Ьоп.
Благодаря этому читатели этого издания получат более полное представление об основах языка программирования и — как следствие — более полезный учебник по языку Ру1Ьоп. В качестве заключительного упражнения в конце книги (глава 29) приводится несколько усложненных примеров для самостоятельного изучения. 06 этой книге В этом разделе приводятся некоторые наиболее важные замечания об этой книге в общем, не зависящие от номера издания.