На этом шаге мы рассмотрим создание и выполнение небольшой программы.
Когда мы заявляем, что Python - это простой язык программирования, то мы говорим это совершенно серьезно. Перейдите к следующей ячейке "In []", введите представленный ниже код и выполните его, щелкнув на кнопке запуска. В отношении инструкций, записанных на компьютерном языке, широко применяется термин код. Вместо щелчка на кнопке запуска кода можете воспользоваться комбинацией клавиш Ctrl+Enter, если вам этот способ более удобен.
print("Hello World!")
Рис.1. Вывод фразы "Hello World!"
Как видите, ввод инструкции, предписывающей вывод фразы "Hello World!", не привел к удалению предыдущей ячейки с содержащимися в ней собственной инструкцией и собственным выводом. Это средство оказывается очень полезным при поэтапном создании решений из нескольких частей.
Посмотрим, что произойдет при выполнении следующего кода, который демонстрирует одну ключевую идею. Введите и выполните этот код в новой ячейке. Если новая пустая ячейка не отображается в окне, щелкните на кнопке с изображением знака "плюс", после наведения на которую указателя мыши высвечивается подсказка Insert Cell Below (вставить ячейку ниже) (рисунок 2).
Рис.2. Кнопка для добавления ячейки
х = 10 print(х) print(х + 5) у = х + 7 print(у) print (z)
Рис.3. Текст программы
Первая строка, х = 10, выглядит как математическая запись, утверждающая, что х равно 10. В Python это означает, что в виртуальное хранилище под названием х заносится значение 10. Данную простую концепцию иллюстрирует следующая диаграмма.
Значение "10" остается в хранилище до тех пор, пока в нем не возникнет необходимость. Вас не должна озадачить инструкция print (х), поскольку это инструкция вывода информации на экран, с которой вы уже сталкивались. Она выдаст хранящееся в х значение, которое равно 10. Но почему будет выведено "10", а не "х"? Потому что Python всегда старается вычислить все, что только можно, а х можно вычислить и получить значение 10, которое и выводится. В следующей строке, которая содержит инструкцию print (х + 5), вычисляется выражение х + 5, приводящее в конечном счете к значению 10+5, или 15. Поэтому мы ожидаем, что на экран будет выведено "15".
Следующая строка с инструкцией у = х + 7 также не собьет вас с толку, если вы будете руководствоваться той идеей, что Python стремится выполнить все возможные вычисления. В этой инструкции мы предписываем сохранить значение в новом хранилище, которое теперь называется у, но при этом возникает вопрос, а какое именно значение мы хотим сохранить? В инструкции указано выражение х + 7, которое равно 10+7, т.е. 17. Таким образом, именно это значение и будет сохранено в у, и следующая инструкция выведет его на экран.
А что произойдет со строкой print(z), если мы не назначили z никакого значения, как это было сделано в случае х и у? Мы получим сообщение об ошибке, в вежливой форме информирующее нас о некорректности предпринимаемых нами действий и пытающееся быть максимально полезным, чтобы мы могли устранить ошибку. Должен заметить, что сообщения об ошибках не всегда успешно справляются со своей задачей - оказать помощь пользователю (причем этот недостаток характерен для большинства языков программирования).
Результаты выполнения описанного кода, включая вежливое сообщение об ошибке "name 'z' is not defined" (имя 'z' не определено), можно увидеть на рисунке 4.
Рис.4. Результат выполнения кода
Вышеупомянутые хранилища, обозначенные как х и у и используемые для хранения таких значений, как 10 и 17, называют переменными. В языках программирования переменные используются для создания обобщенных наборов инструкций по аналогии с тем, как математики используют алгебраические символы наподобие "х" и "у" для формулировки утверждений общего характера.
На следующем шаге мы займемся автоматизацией вычислений.