Марк Лутц - Изучаем Python, Четвертое издание (1184811), страница 4
Текст из файла (страница 4)
1031В заключение.................................................................... 1039Закрепление пройденного................................................... 1040Глава 37. Управляемые атрибуты......................................... 1043Зачем нужно управлять атрибутами?...................................Свойства...........................................................................Дескрипторы.....................................................................__getattr__ и __getattribute__.............................................Пример: проверка атрибутов...............................................В заключение....................................................................Закрепление пройденного...................................................1043104510501059107810841084Глава 38. Декораторы........................................................... 1087Что такое декоратор?.........................................................Основы.............................................................................Программирование декораторов функций.............................Программирование декораторов классов...............................Непосредственное управление функциями и классами............Пример: «частные» и «общедоступные» атрибуты..................Пример: проверка аргументов функций................................В заключение....................................................................Закрепление пройденного...................................................108710901100111611271130114211551156Глава 39.
Метаклассы........................................................... 1160Нужны или не нужны метаклассы.......................................Модель метаклассов...........................................................Объявление метаклассов.....................................................Программирование метаклассов..........................................Пример: добавление методов в классы..................................Пример: применение декораторов к методам.........................В заключение....................................................................Закрепление пройденного...................................................1161116811721173117911861194119516ОглавлениеЧасть IX.
Приложения............................................................ 1197Приложение A. Установка и настройка.................................. 1199Установка интерпретатора Python........................................Настройка Python..............................................................Параметры командной строки интерпретатора.......................Дополнительная информация..............................................1199120312081209Приложение B. Решения упражнений................................... 1211Часть I. Введение...............................................................Часть II.
Типы и операции. .................................................Часть III. Инструкции и синтаксис.......................................Часть IV. Функции............................................................Часть V. Модули................................................................Часть VI. Классы и ООП......................................................Часть VII.
Исключения и инструменты.................................1211121412191221122912331241Алфавитный указатель........................................................ 1249ПредисловиеЭта книга представляет собой введение в ���������������������������������Python���������������������������– популярный язык программирования, используемый как для разработки самостоятельных программ,так и для создания прикладных сценариев в самых разных областях применения. Это мощный, переносимый, простой в использовании и свободно распространяемый язык. Программисты, работающие в самых разных областях,считают, что ориентация Python на эффективность разработки и высокое качество программного обеспечения дает ему стратегическое преимущество какв маленьких, так и в крупных проектах.Цель этой книги – помочь вам быстро овладеть основными принципами ���Python����������������������������������������������������������������������независимо от уровня вашей подготовки.
Прочитав эту книгу, вы получите объем знаний, достаточный для использования этого языка.Издание задумывалось как учебник, основное внимание в котором уделяетсяядру языка программирования Python, а не прикладным аспектам его использования. Вообще, эта книга должна рассматриваться как первая из следующего цикла:•• «Изучаем Python» – эта книга служит учебником по языку Python.•• «Программирование на Python»1, где помимо всего прочего показаны возможности применения языка Python после того, как он был освоен.То есть издания, посвященные прикладным аспектам, такие как «Программирование на Python», начинаются с того места, где заканчивается эта книга,и исследуют применение Python в различных прикладных областях, такихкак веб-приложения, графические интерфейсы пользователя (ГИП) и приложения баз данных.
Кроме того, в книге «�������������������������������������Python�������������������������������Pocket������������������������������������������������������Reference�������������������������������������», которая задумывалась как дополнение к этой книге, вы найдете дополнительные справочные материалы, не вошедшие в эту книгу.Благодаря такой направленности в этой книге стало возможным представитьосновы языка �������������������������������������������������������������Python�������������������������������������������������������более глубоко, чем во многих других пособиях для начинающих. Книга основана на материалах практических курсов, включает в себяконтрольные вопросы и самостоятельные упражнения и поэтому может служить введением в язык, рассчитанным на индивидуальную скорость освоения.О четвертом изданииЧетвертое издание книги претерпело три основных изменения:1Лутц М.
«Программирование на Python», 2-е изд. – Пер. с англ. – СПб.: СимволПлюс, 2002. Четвертое издание этой книги выйдет в 2011 году.18Предисловие•• Охватываются обе версии, Python 3.0 и Python 2.6, с особым вниманиемк версии 3.0, но при этом отмечаются отличия, имеющиеся в версии 2.6.•• Добавлено несколько новых глав, в основном посвященных развитию базовых возможностей языка.•• Проведена реорганизация части имевшегося материала и добавлены новыепримеры для большей ясности.Когда я работал над этим изданием в 2009 году, существовало две основныхверсии интерпретатора Python – версия 3.0, представляющая новую ступеньразвития языка и несовместимая с прежним программным кодом, и версия 2.6, сохранившая обратную совместимость с огромным количеством существующих программ на языке Python.
Хотя Python 3 рассматривается какбудущее языка ����������������������������������������������������������Python����������������������������������������������������, тем не менее �������������������������������������Python�������������������������������2 по-прежнему широко используется и будет поддерживаться параллельно с ������������������������������Python������������������������3 еще на протяжении нескольких лет. Версия 3.0 – это в значительной степени тот же язык программирования, однако она практически несовместима с программным кодом, написанным для прежних версий интерпретатора (тот факт, что инструкция printпревратилась в функцию, только на первый взгляд кажется косметическимизменением, однако именно это обстоятельство сделало неработоспособнымипочти все программы на языке Python, написанные ранее).Наличие двух параллельно существующих версий представляет дилемму –как для программистов, так и для авторов книг. Проще всего было бы сделатьвид, что версия ������������������������������������������������������������Python������������������������������������������������������2 никогда не существовала, и сосредоточить все внимание только на версии 3, но это не будет отвечать потребностям большого количества пользователей языка Python.
В настоящее время существует огромноеколичество программ, написанных для версии Python 2, и в ближайшее времяони никуда не денутся. Начинающие программисты могут сосредоточиться наверсии ������������������������������������������������������������������Python������������������������������������������������������������3, но все, кому приходится сопровождать программы, написанные ранее, вынуждены одной ногой оставаться в Python 2. Для переноса всехсторонних библиотек и расширений на версию Python 3 могут потребоватьсягоды, поэтому такое раздвоение не будет преодолено в ближайшее время.Охват обеих версий, 3.0 и 2.6Чтобы учесть это раздвоение и удовлетворить нужды всех потенциальных читателей, в этом издании рассматриваются обе версии, Python 3.0 и Python 2.6(а также более поздние версии веток 3.X и 2.X).