2 страница
язык программирования Python, посетите страницу https://docs.python.org/3/whatsnew/. Там представлена техническая информация. Она, возможно, покажется трудной для понимания, если вы только начинаете изучать Python, но может пригодиться в будущем, если вам нужно будет писать программы для компьютеров, на которых установлены другие версии Python.

Соглашения, принятые в этой книге

В этой книге приняты следующие шрифтовые соглашения.

Курсив

Им обозначаются новые термины и понятия.

Шрифт для названий

Применяется для отображения URL, адресов электронной почты, а также названий папок и выводимой на экран информации.

Моноширинный шрифт

Используется в листингах программного кода, а также для имен и расширений файлов, названий путей, имен функций, команд, баз данных, переменных, операторов и ключевых слов.

Курсивный моноширинный шрифт

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


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


Этот рисунок указывает на предупреждение.

Использование примеров кода

Примеры кода, приведенные в этой книге, — но не упражнения, которые являются заданиями для читателя, — доступны для загрузки по адресу https://github.com/madscheme/introducing-python. Эта книга написана, чтобы помочь вам при работе. В принципе, вы можете использовать код, содержащийся в ней, в ваших программах и документации. Можете не связываться с нами и не спрашивать разрешения, если собираетесь воспользоваться небольшим фрагментом кода. Например, если вы пишете программу и кое-где вставляете в нее код из книги, никакого особого разрешения не требуется. Однако если вы запишете на диск примеры из книги и начнете раздавать или продавать такие диски, то на это необходимо получить разрешение. Если вы цитируете это издание, отвечая на вопрос, или воспроизводите код из него в качестве примера, разрешение не нужно. Если вы включаете значительный фрагмент кода из данной книги в документацию по вашему продукту, необходимо разрешение.

Ссылки на источник приветствуются, но не обязательны. В такие ссылки обычно включаются название книги, имя ее автора, название издательства и номер ISBN. Например: Introducing Python, автор Билл Любанович (Bill Lubanovic). Copyright 2015 Bill Lubanovic, 978-1-449-35936-2.

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

Как с нами связаться

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

O’Reilly Media, Inc.

1005, Gravenstein Highway North,

Sebastopol, CA 95472.

800-998-9938 (в Соединенных Штатах или Канаде).

707-829-0515 (международный или местный).

707-829-0104 (факс).

У нас есть веб-страница, посвященная этой книге, где мы размещаем опечатки, примеры и любую дополнительную информацию. Она располагается по адресу: http:// introducing_python.

Чтобы оставить комментарий или задать технический вопрос об этой книге, отправляйте электронные письма по адресу bookquestions@oreilly.com.

Чтобы получить более подробную информацию о наших книгах, курсах, конференциях и новостях, посетите наш сайт http://www.oreilly.com.

Найдите нас на Facebook: http://facebook.com/oreilly.

Добавьте нас в свой Twitter: http://twitter.com/oreillymedia.

Смотрите нас на YouTube: http://www.youtube.com/oreillymedia.

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

Хочу объявить благодарность множеству людей, прочитавших и прокомментировавших мой черновик. В частности, я хотел бы упомянуть подробные обзоры Эли Бессерт (Eli Bessert), Генри Канивала (Henry Canival), Джереми Эллиота (Jeremy Elliott), Монте Миланука (Monte Milanuk), Лоика Пефферкорна (Loїc Pefferkorn) и Стивена Вейна (Steven Wayne).

Об авторе

Билл Любанович программировал в операционной системе Unix с 1977 года, разрабатывал GUI с 1981 года, базы данных с 1990 года, а веб-разработкой занимался с 1993 года.

В 1982 году, работая на стартапе Intran, он создал MetaForm — один из первых коммерчески успешных GUI (до Mac или Windows) для использования на одной из первых графических рабочих станций. В 1990 году он написал для компании Northwest Airlines визуальную систему управления доходами, которая дала миллионы долларов выручки. Кроме того, Любанович создал «витрину» компании в Интернете и написал для нее первый тест для анализа маркетинга в Сети. Позже, в 1994 году, он выступил сооснователем интернет-провайдера Tela, а в 1999 году участвовал в создании интернет-компании Mad Scheme.

Впоследствии Билл Любанович разрабатывал службы ядра и распределенные системы в составе команды, работающей на стартап с Манхэттена. В настоящее время автор этой книги занимается интеграцией сервисов OpenStack в суперкомпьютерной компании.

Билл счастливо живет в штате Миннесота со своей чудесной женой Мэри, сыном Томом и дочерью Карин, ухаживает за кошками Ингой и Люси и котом Честером.

Глава 1. Python: с чем его едят

Начнем с одной небольшой тайны и ее разгадки. Что, по-вашему, означают следующие две строки?

(Ряд 1): (RS) K18, ssk, k1, turn work.

(Ряд 2): (WS) Sl 1 pwise, p5, p2tog, p1, turn.

Выглядит как какая-то компьютерная программа. На самом деле это схема для вязания, а если точнее, фрагмент, который описывает, как связать пятку носка. Для меня эти строки имеют не больше смысла, чем кроссворд из газеты New York Times — для моего кота, но моя жена понимает их совершенно точно. Если вы вяжете, то тоже их поймете.

Рассмотрим еще один пример. Вы сразу поймете его предназначение, хотя и не сразу сможете определить результат:

½ столовой ложки масла или маргарина;

½ столовой ложки сливок;

2 ½ стакана муки;

1 чайная ложка соли;

1 чайная ложка сахара;

4 стакана картофельного пюре (охлажденного).

Перед тем как добавить муку, убедитесь, что все ингредиенты охлаждены.

Смешайте все ингредиенты.

Тщательно замесите.

Сделайте 20 шариков. Держите их охлажденными до следующего этапа.

Для каждого шарика разровняйте муку на тряпочке.

Раскатайте шарик при помощи рифленой скалки.

Жарьте на сковороде до подрумянивания.

Переверните и обжарьте другую сторону.

Даже если вы не готовите, вы сможете распознать кулинарный рецепт: список продуктов, за которым следуют указания по приготовлению. Но что получится в итоге? Это лефсе, норвежский деликатес, который напоминает тортилью. Полейте блюдо маслом, вареньем или чем-нибудь еще, сверните и наслаждайтесь.

Схема для вязания и рецепт имеют несколько похожих моментов:

• фиксированный словарь, состоящий из слов, аббревиатур и символов. Некоторые могут быть знакомы, другие же покрыты тайной;

• правила, описывающие, что и где можно говорить, — синтаксис;

• последовательность операций, которые должны быть выполнены по порядку;

• в некоторых случаях — повторение определенных операций (цикл), например способ приготовления каждого кусочка лефсе;

• в некоторых случаях — ссылка на другую последовательность операций (говоря компьютерными терминами, функция). Например, когда вы прочтете приведенный выше рецепт, вам может понадобиться рецепт приготовления картофельного пюре;

• предполагаемое знание контекста. Рецепт подразумевает, что вы знаете, что такое вода и как ее кипятить. Схема для вязания подразумевает, что вы умеете держать спицы в руках;

• ожидаемый результат. В наших примерах результатом будет предмет для ног и предмет для желудка. Главное — не перепутать.

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

Теперь оставим этих дублеров и рассмотрим настоящую программу. Что она делает?

for countdown in 5, 4, 3, 2, 1, "hey!":

····print(countdown)

Если вы считаете, что это программа, написанная на языке программирования Python, которая выводит на экран следующее:

5

4

3

2

1

hey!

то вы знаете,