Книга «Изучаем Python»


Послесловие  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  492



Pdf көрінісі
бет25/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   21   22   23   24   25   26   27   28   ...   238
Байланысты:
2 5343781172763690906

Послесловие  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  492


Об авторе

Эрик Мэтиз (Eric Matthes), преподаватель физики и математики, живет на Аляске 

и ведет курс Python начального уровня. Эрик пишет программы с пяти лет, а в на-

стоящее время занимается разработкой продуктов, которые исправляют недочеты 

в системе образования и помогают использовать возможности программных про-

дуктов с открытым кодом в системе образования. В свободное время занимается 

альпинизмом и проводит время с семьей.

О научном рецензенте

Кеннет Лав (Kenneth Love) — преподаватель и программист Python с многолетним 

стажем. Он выступал с докладами и лекциями на конференциях, занимался про-

фессиональной подготовкой, работал внештатным программистом Python и Django, 

а в настоящее время ведет занятия в компании дистанционного образования. Кен-

нет также является одним из создателей пакета 

django-braces

, предоставляющего 

удобные примеси (mixins) для представлений на базе классов Django. Желающие 

могут читать его сообщения в Твиттере (

@kennethlove

).



Моему отцу, который никогда не жалел  

времени, чтобы ответить на мои  вопросы 

по программированию, и Эверу,  который 

только  начинает  задавать  мне  свои 

 вопросы.


Благодарности

Эта книга никогда бы не появилась на свет без великолепных, чрезвычайно про-

фессиональных сотрудников издательства No Starch Press. Билл Поллок (Bill 

Pollock) предложил мне написать вводный учебник, и я глубоко благодарен ему 

за это. Тайлер Ортман (Tyler Ortman) помог привести в порядок мои идеи на ран-

ней стадии подготовки чернового варианта. Лиз Чедвик (Liz Chadwick) и Лесли 

Шен (Leslie Shen) предоставили бесценные отзывы на исходные варианты каждой 

главы, а Энн Мэри Уокер (Anne Marie Walker) помогла прояснить многие части 

книги. Райли Хоффман (Riley Hoffman) отвечал на все вопросы, которые возникали 

у меня в процессе построения полной книги, и терпеливо превращал мою работу 

в прекрасный завершенный продукт.

Также хочу поблагодарить Кеннета Лава (Kenneth Love), научного рецензента 

книги. Я познакомился с Кеннетом на конференции PyCon, и его энтузиазм в от-

ношении языка и сообщества Python с тех пор неизменно оставался для меня 

источником профессионального вдохновения. Кеннет вышел за рамки простой 

проверки фактов; он следил за тем, чтобы книга помогала начинающим програм-

мистам сформировать основательное понимание языка Python и программирова-

ния в целом. Вместе с тем ответственность за все оставшиеся неточности лежит 

исключительно на мне.

Я хочу поблагодарить своего отца, который познакомил меня с программированием 

в раннем возрасте и не побоялся, что я сломаю его оборудование. Также хочу ска-

зать спасибо своей жене Эрин за поддержку и помощь во время работы над книгой 

и своему сыну Эверу, чья любознательность постоянно служит мне примером.



Введение

У каждого программиста найдется своя история о том, как он написал свою пер-

вую программу. Я начал изучать программирование еще в детстве, когда мой отец 

работал на Digital Equipment Corporation, одну из ведущих компаний современной 

эры вычислительной техники. Я написал свою первую программу на компьютере, 

 который был собран моим отцом из набора комплектующих в подвале дома. Ком-

пьютер представлял собой системную плату (без корпуса), подключенную к кла-

виатуре, а в качестве монитора использовалась простейшая электронно- лучевая 

трубка. Моей первой программой стала игра по отгадыванию чисел, которая вы-

глядела примерно так:

Я загадал число! Попробуйте отгадать мое число: 25

Слишком мало! Следующая попытка: 50

Слишком много! Следующая попытка: 42

Верно! Хотите сыграть снова? (да/нет) нет

Спасибо за игру!

Никогда не забуду, как доволен я был, когда моя семья играла в написанную мной 

игру и все работало точно так, как я задумал.

Мои ранние переживания имели далеко идущие последствия. Очень приятно по-

строить нечто, предназначенное для конкретной цели; нечто, успешно решающее 

свою задачу. Программы, которые я пишу сейчас, намного серьезнее моих детских 

попыток, но чувство удовлетворения, которое я ощущаю от вида работающей про-

граммы, остается практически тем же.

Для кого написана эта книга?

Цель этой книги — как можно быстрее ввести читателя в курс дела, чтобы тот 

начал писать на Python работоспособные программы (игры, визуализации 

данных и веб-приложения), и одновременно заложить основу в области про-

граммирования, которая пригодится ему на протяжении всей жизни. Книга 

написана для людей любого возраста, которые прежде никогда не программи-

ровали на Python или вообще никогда не программировали. Если вы хотите 

быстро изучить азы программирования, чтобы сосредоточиться на интересных 

проектах, а также проверить свое понимание новых концепций на содержа-

тельных задачах — эта книга для вас. Книга также прекрасно подходит для 

преподавателей, желающих предложить вводный курс программирования, 

основанный на проектах.




14     Введение

Чему эта книга вас научит?

Цель книги — сделать вас хорошим программистом вообще и хорошим программи-

стом Python в частности. Процесс обучения будет эффективным, и вы приобретете 

много полезных навыков, так как я представлю основательное введение в общие 

концепции программирования. После того как вы перевернете последнюю стра-

ницу, вы будете готовы к знакомству с более серьезными возможностями Python, 

а изучение вашего следующего языка программирования тоже упростится.

В первой части книги будут представлены базовые концепции программирования, 

которые необходимо знать для написания программ Python. Эти концепции ничем 

не отличаются от тех, которые рассматриваются в начале изучения почти любого 

языка программирования. Вы познакомитесь с разными видами данных и возмож-

ностями хранения данных в списках и словарях. Вы научитесь создавать коллекции 

данных и эффективно работать с этими коллекциями. В частности, циклы 

while

 

и 



if

 позволяют выполнять определенные фрагменты кода, если некоторое условие 

истинно, и выполнять другие фрагменты в противном случае — эти конструкции 

очень сильно помогают при автоматизации процессов.

Вы научитесь получать входные данные от пользователя, чтобы ваши программы 

стали интерактивными, и выполнять их до тех пор, пока пользователь остается ак-

тивным. Также вы узнаете, как написать функции для многократного выполнения 

некоторых частей ваших программ, чтобы вы один раз программировали некоторое 

действие, а потом могли использовать его столько раз, сколько потребуется. За-

тем эта концепция будет распространена на более сложное поведение с классами, 

что позволит даже относительно простым программам реагировать на множество 

разнообразных ситуаций. Вы научитесь писать программы, корректно обрабаты-

вающие многие типичные ошибки. После знакомства с базовыми концепциями 

мы напишем несколько коротких программ для решения конкретных задач. На-

конец, вы сделаете первые шаги на пути к программированию среднего уровня: вы 

научитесь писать тесты для своего кода, чтобы вы могли продолжать разработку 

программ, не беспокоясь о возможном внесении ошибок. Вся информация части I 

подготовит вас к более сложным и масштабным проектам.

В части II знания, полученные в части I, будут применены для построения трех про-

ектов. Вы можете взяться за любые из этих проектов в том порядке, который лучше 

подходит для вас. В первом проекте (главы 12–14) будет создана игра-«стрелялка» 

в стиле классического хита Space Invaders, состоящая из многих уровней с нараста-

ющей сложностью. После завершения этого проекта вы будете знать многое из того, 

что необходимо знать для разработки собственных 2D-игр.

Второй проект (главы 15–17) познакомит вас с визуализацией данных. Чтобы 

разобраться в огромных объемах доступной информации, специалисты по ана-

лизу данных применяют различные средства визуализации. Вы будете работать 

с наборами данных, генерируемыми в программах; наборами данных, загружен-

ными из сетевых источников; и наборами данных, которые загружаются вашей 

программой автоматически. После завершения этого проекта вы сможете писать 

программы, обрабатывающие большие наборы данных и строящие визуальные 

представления сохраненной информации.




 Введение    15

В третьем проекте (главы 18–20) будет построено небольшое веб-приложение 

Learning Log. Этот проект позволяет вести журнал новых идей и концепций, кото-

рые вы узнали в ходе изучения конкретной темы. Пользователь приложения смо-

жет вести разные журналы по разным темам, создавать учетные записи и начинать 

новые журналы. Вы также узнаете, как развернуть свой проект в Интернете, чтобы 

любой желающий мог работать с ним откуда угодно.

Почему именно Python?

Каждый год я задумываюсь над тем, продолжать ли мне работать на Python или же 

перейти на другой язык — вероятно, более новый в мире программирования. И все 

же я продолжаю работать на Python по многим причинам. Язык Python невероятно 

эффективен: ваши программы делают больше, чем многие другие языки, в мень-

шем объеме кода. Синтаксис Python также позволяет писать «чистый» код. Ваш 

код будет легко читаться, у вас будет меньше проблем с отладкой и расширением 

программ по сравнению с другими языками.

Python  используется  для  разных  целей:  для  создания  игр,  построения  веб-

приложений, решений бизнес-задач и разработки внутренних инструментов для 

всевозможных интересных проектов. Python также широко применяется в научной 

области для теоретических исследований и решения прикладных задач.

Впрочем, одной из самых важных причин для использования Python для меня 

остается сообщество Python, состоящее из невероятно разных и благожелательных 

людей. Сообщество играет исключительно важную роль в программировании, по-

тому что программирование не является сугубо индивидуальным делом. Многим 

из нас, даже самым опытным программистам, приходится обращаться за советом 

к коллегам, которые уже решали похожие задачи. Существование дружного, добро-

желательного сообщества помогает решать задачи, и сообщество Python готово 

прийти на помощь людям, у которых Python является первым языком програм-

мирования.

Python — замечательный язык, давайте же браться за дело!

От издательства

Ваши замечания, предложения, вопросы отправляйте по адресу электронной почты 

comp@piter .com

 (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На веб-сайте издательства 

http://www .piter .com

 вы найдете подробную информацию 

о наших книгах.




Ч а с т ь  I

 . 


 

Основы


В части I этой книги представлены базовые концепции, необходимые для написания 

программ на языке Python . Многие из этих концепций встречаются во всех языках про-

граммирования, поэтому они пригодятся вам на протяжении всей карьеры программиста .

В главе 1 вы установите Python на свой компьютер и запустите свою первую программу, 

которая выводит на экран сообщение Hello world! . В главе 2 вы научитесь хранить ин-

формацию в переменных, работать с текстовыми и числовыми данными .

В главах 3 и 4 вы познакомитесь со списками . Списки позволяют хранить любой объем 

информации в одной переменной, что повышает эффективность работы с данными . Вы 

сможете работать с сотнями, тысячами и даже миллионами значений всего в нескольких 

строках кода .

В главе 5 будут представлены команды if . С их помощью вы сможете написать код, 

который делает что-то одно, если некоторое условие истинно, и что-то другое, если 

условие не выполняется .

Глава 6 показывает, как использовать словари Python, связывающие разные виды ин-

формации . Словари, как и списки, могут содержать столько информации, сколько вы 

захотите в них поместить .

В главе 7 вы научитесь получать данные от пользователей, чтобы ваши программы стали 

интерактивными . Также в этой главе описаны циклы while, многократно выполняющие 

блоки кода, пока некоторое условие остается истинным .

В главе 8 вы займетесь написанием функций — именованных блоков кода, которые ре-

шают конкретную задачу и запускаются тогда, когда потребуется .

В главе 9 представлены классы, предназначенные для моделирования реальных объ-

ектов: собак, кошек, людей, машин, ракет и т . д . С их помощью вы сможете представить 

в своем коде любые сущности, реальные или абстрактные .

Глава 10 научит вас работать с файлами и обрабатывать ошибки, чтобы ваши программы 

не завершались аварийно . Вы узнаете, как сохранить данные перед закрытием програм-

мы и снова загрузить их при запуске программы . В этой главе рассматриваются исклю-

чения Python; с их помощью вы сможете предвидеть возможные ошибки и организовать 

их корректную обработку в программах .

В главе 11 вы научитесь писать тесты для кода . Тесты проверяют, что ваша программа 

работает так, как предполагается . В результате вы сможете расширять свои программы, 

не беспокоясь о возможном внесении новых ошибок . Тестирование — один из первых 

навыков, отличающих новичка от программиста среднего уровня .



1

Начало работы

В этой главе вы запустите свою первую программу на языке Python, 

hello_world .

py

. Сначала вы проверите, установлен ли Python на вашем компьютере, и если 



нет — установите его. Также будет установлен текстовый редактор для подготовки 

программ Python. Текстовые редакторы распознают код Python и выделяют син-

таксические конструкции во время работы, упрощая понимание структуры кода 

разработчиком.

Подготовка среды программирования

Поддержка Python слегка отличается в разных операционных системах, поэтому 

вы должны учитывать некоторые аспекты. В этой главе представлены две основные 

версии Python, используемые в наше время, и описаны основные действия по на-

стройке Python в вашей системе.

Python 2 и Python 3

Сейчас доступны две версии Python: Python 2 и более новая версия Python 3. Каж-

дый язык программирования развивается с появлением новых идей и технологий, 

и разработчики Python неустанно трудятся над тем, чтобы сделать язык более 

мощным и гибким. Многие изменения имеют второстепенный характер и мало-

заметны на первый взгляд, но в отдельных случаях код, написанный на Python 2, 

некорректно работает в системах с установленной поддержкой Python 3. В книге 

я буду указывать на существенные различия между Python 2 и Python 3, так что вы 

сможете следовать приведенным инструкциям независимо от используемой версии.

Если в вашей системе установлены обе версии или вы еще не установили Python, 

используйте Python 3. Если в вашей системе установлена только версия Python 2 

и вы предпочитаете с ходу взяться за написание кода, не желая возиться с установ-

кой, начните с Python 2. Но чем скорее вы перейдете на Python 3, тем лучше — все 

же полезнее использовать самую новую версию.

Выполнение фрагментов кода Python

В поставку Python входит интерпретатор, который выполняется в терминальном 

окне и позволяет опробовать фрагменты кода Python без сохранения и запуска 

всей программы.





Достарыңызбен бөлісу:
1   ...   21   22   23   24   25   26   27   28   ...   238




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет