Саммерфилд - Программирование на Python 3 (1077331), страница 3
Текст из файла (страница 3)
В главе 8 повторно рассматривается материал, представленный в некоторых предыдущих главах, и исследуются многие современные особенности языка Ру(Ьоп в таких областях, как типы данных, коллекции данных, управляющие структуры, функции и объектно-ориентированное программирование. В этой главе также будет представлено множество новых функций, классов и усовершенствованных приемов, включая функциональное программирование — материал, который будет и полезен, и необходим. В остальной части книги рассматриваются более сложные темы.
В главе 9 демонстрируются приемы распределения рабочей нагрузки между несколькими процессами и потоками выполнения. Глава 10 рассказывает, как создавать клиент-серверные приложения, используя стандартную поддержку сетевых взаимодействий языка РуФЬоп. Глава 11 охватывает вопросы программирования приложений для работы с базами данных (как с простыми файлами «1)ВМ», хранящими пары ключ-значение, так и с базами данных ЯЯЬ). Глава 12 описывает и демонстрирует применение мини-языка регулярных выражений в РуФЬоп и охватывает модуль регулярных выражений, а в главе 13 рассматриваются вопросы программирования 01)! (СгарЬ!са! 1!зег 1п«егГасе — графический интерфейс пользователя).
Большинство глав в книге достаточно объемны, объединяя взаимосвязанные сведения в одном месте для упрощения их поиска в будущем. Кроме того, главы разбиты на разделы, подразделы, а иногда и подподразделы, что позволяет читать их в том темпе, который устроит вас больше всего, — например, по одному разделу или подразделу за раз. Введение Получение и установка РуФоп 3 Если в вашем распоряжении имеется современная операционная система Мас или другая 111«11Х-подобная система, то вполне возможно, что Ру1Ьоп 3 у вас уже установлен. Проверить это можно, введя команду ру1Поп -У (обратите внимание, что символ )г вводится в верхнем регистре) в консоли (Тегв1пз1. арр — в Мас ОБ Х). Если будет выведен номер версии 3, значит Ру1Ьоп 3 у вас уже имеется и выполнять его установку не требуется, в противном случае вам следует продолжить чтение этого раздела.
Для операционных систем ЪЧ1пдо»уэ и Мас ОЯ Х существуют простые в использовании установочные пакеты с графическим интерфейсом, которые проведут вас через все этапы процесса установки. Эти пакеты доступны по адресу шшш.руИоп.ог3/г(ошп1оаг1. Для Ж1пг(о»уз по указанному адресу имеется три различных инсталлятора; загружайте тот, который подписан «1йГ1пдоучэ1пэФа11ег», если заранее вам точно не известно, что ваша машина оснащена процессором АМР64 или 11ап1- шп; в противном случае загружайте версию для своего процессора. Как только установочный пакет будет загружен, просто запустите его и следуйте инструкциям, появляющимся на экране.
Для апик, ВВР и других версий 1ЛхПХ самый простой способ установить Ру1Ьоп состоит в том, чтобы воспользоваться имеющейся системой управления пакетами. В большинстве случаев Ру1Ьоп поставляется в виде отдельных пакетов. Например, для Рег(ога РуВЬоп поставляется в виде пакета ругэсп, а ПП Е (простая среда разработки) — в виде пакета ругэоп-Сос1э„при этом будьте внимательны: эти пакеты содержат РуФЬоп 3, только если ваша версия Ребога достаточно свежая (версии 10 или выше). Аналогично в дистрибутивах на основе РеЫап, таких как ОЪип1и, эти пакеты называются руТПопЗ и гп1еЗ соответственно. Если для вашей операционной системы пакеты с Ру1Ьоп 3 отсутствуют, то вам потребуется загрузить исходные тексты по адресу шшш.ру- 11«оп.ог3уг(ошп1оаг) и собрать Ру1Ьоп 3 из исходных текстов.
Загрузите тарболл с исходными текстами и распакуйте его либо командой гаг хтгэ Ругэоп-3. О. 1рг, если тарболл сжат архиватором дз1р, либо командой гаг х»Г) Ругпоп-3. О.гаг. ЬВ2, если тарболл сжат архиватором Ь|1р2. Конфигурирование и сборка выполняются стандартным способом. Сначала перейдите во вновь созданный каталог Ру1Ьоп-3.0 с распакованными исходными текстами и запустите команду . ГсспГ1Оэге. (Если вы хотите выполнить установку в свой локальный каталог, можно определить значение параметра — ргеГ(х.) Затем запустите команду ваКе. Вполне возможно, что в конце сборки вы получите сообщение о том, что не все модули удалось собрать. Обычно это означает, что у вас отсутствуют необходимые для этого библиотеки или заголовочные файлы. Например, если не удалось собрать модуль геаэ11пе, воспользуйтесь системой управления пакетами и установите соответствующую 18 Введение библиотеку для разработки -геап11пе-Ьеуе1 в системах на базе Резега или гезЫ1пе-Ьеч в системах на базе Пей(ап.
(К сожалению, названия пакетов не всегда настолько очевидны.) После установки недостающих пакетов запустите команды ./сопг(Оп ге и ване еще раз. После успешной сборки можно попробовать запустить команду захе геэг, чтобы убедиться, что все в порядке, хотя это не обязательно и к тому же может занять продолжительное время. Если вы использовали параметр — рге(1х, то, чтобы выполнить локальную установку, просто запустите команду ззне 1пэтз11. Вероятно, будет желательно добавить символическую ссылку на выполняемый файл ругпоп (например, 1п -в -/1сса1/ругпспЗ/Ып/ру1пспЗ.
О -/Ып/ругпспЗ, если предполагать, что использовался параметр — рге11х=ЗНОМЕ/!оса!/ ругпспЗ и каталог ЗНОМЕ/Ьгп присутствует в переменной окружения РАТН). Возможно, также будет удобно добавить символическую ссылку на ПИ Е(например, 1п -в -/1оса1/ругпьпЗ/Ьгп/1Ь1е -/Ь(п/1Ь1еЗ, если исходить из тех же предположений, что и выше). Если вы не использовали параметр — рге11х и обладаете правами пользователя гоо1, зарегистрируйтесь в системе как гоо$ и выполните команду ване Епэ1а11. В системах с настроенной программой эьзо, таких как ()Ъип$и, выполните команду вспо ване 1пвгаП. Если в системе был установлен РуЬЬоп 2, файл /ьэг/Ып/ругпоп не изменится и Ру1йоп 3 будет доступен как ругпспЗ, точно также среда разработки ПИ Е для Ру1Ьоп 3 будет доступна как 1о1еЗ. Благодарности Мои первые слова благодарности я хотел бы принести техническим рецензентам книги, начиная с Жасмин Вланшетт (давш(п В!апсйе11е), программиста, в соавторстве с которой я участвовал в создании двух книг о С++Я$.
Ее рекомендации о том, как расположить содержимое книги по главам, критические замечания по всем примерам и тщательное чтение текста в значительной степени способствовали улучшению книги. Джордж Брандл (Оеогд Вгапх!1) — ведущий разработчик РуЬЬоп и ответственный за создание документации к новому комплекту инструментов Ру$Ьоп. Джордж обнаружил множество мелких ошибок и упорно, очень терпеливо объяснял их„пока все они не были поняты и устранены.
Он также внес множество усовершенствований в примеры. Фил Томпсон (РЕВ! Тйотрвоп) — эксперт по языку Ру1Ьоп и создатель РуЦ1, одной из лучших библиотек создания графического интерфейса для языка Ру1Ьоп. Проницательность и отзывы Фила позволили прояснить и исправить множество неточностей. Трентон Шульц (Тгеп1оп ЯсЬи1в) — старший инженер-программист подразделения ЯЬ ЗЬЕ1вгаге в компании ХЬН1а (которое ранее было са- Введение 19 мостоятельной компанией Тго!1$есЬ), бывший ценным рецензентом всех моих предыдущих книг, вновь пришел мне на помощь. Внимательное отношение Трентона и множество внесенных им предложений помогли выявить ряд неувязок и способствовали значительному улучшению этой книги. В дополнение к вышеупомянутым рецензентам, каждый из которых прочитал книгу целиком, я хотел бы поблагодарить Дэвида Бодди (1)а- чЫ ВогЫ!е), старшего технического писателя подразделения Ц1 Яо)1- иаге в компании Мой(а, опытного практика языка Ру(Ьоп, который прочитал некоторые части книги и дал ценные рекомендации по ним.
Спасибо также Гвидо ван Россуму (Оп)бо чап Воззшп), создателю языка Ру(Ьоп, а также обширному сообществу пользователей Ру(Ьоп, приложившим невероятные усилия, чтобы сделать язык Ру$Ьоп и в особенности, его библиотеки такими полезными и удобными в использовании.
Как всегда, спасибо Джеффу Кингстону (ЮеЛ К1пяз(оп), создателю языка верстки 1 сии, который я использую уже более десяти лет. Особое спасибо моему редактору Дебре Вильямс Коли (РеЬга ЧЧ!11ашз Саи1еу) за ее поддержку и за то, что максимально обеспечивала плавность протекания всего процесса работы над книгой. Спасибо также Анне Попик (Аппа Рор1сЦ, которая так здорово справлялась с управлением производственным процессом, и корректору Одри Дойл (Аш1- геу Эоу!е), прекрасно выполнившему свою работу. И напоследок, но не в последнюю очередь, я хочу поблагодарить мою супругу Андреа (Апдгеа) за то, что терпела мои пробуждения в 4 часа утра, когда часто появлялись новые идеи и вспоминались неточности в программном коде, требующие немедленной проверки и исправления, а также за ее любовь, верность и поддержку.