Читать «Язык программирования Python» онлайн - страница 3
Роман Авриевич Сузи
О том, как делать программу модульной, станет известно в следующих лекциях. В примерах ниже используются как фрагменты модулей, записанных в файл, так и фрагменты диалога с интерпретатором Python. Последние отличаются характерным приглашением >>>
. Символ решетка (#
) отмечает комментарий до конца строки.
Программа на Python, с точки зрения интерпретатора, состоит из логических строк. Одна логическая строка, как правило, располагается в одной физической, но длинные логические строки можно явно (с помощью обратной косой черты) или неявно (внутри скобок) разбить на несколько физических:
print a, " — очень длинная строка, которая не помещается в", \
80, "знакоместах"
Примечание:
Во всех примерах в основном используется «официальный» стиль оформления кода на Python в соответствии с документом «Python Style Guide», который можно найти на сайте http://python.org
Основные алгоритмические конструкции
Предполагается, что слушатели уже умеют программировать хотя бы на уровне школьной программы, и потому вполне достаточно провести параллели между алгоритмическими конструкциями и синтаксисом Python. Кроме того, Python как правило не подводит интуицию программиста (по крайней мере, науке хорошо известны типичные ловушки начинающих программистов на Python), поэтому изучать синтаксис Python предпочтительнее на примерах, а не с помощью синтаксических диаграмм или форм Бэкуса–Наура.
Последовательность операторов
Последовательные действия описываются последовательными строками программы. Стоит, правда, добавить, что в программах важны отступы, поэтому все операторы, входящие в последовательность действий, должны иметь один и тот же отступ:
a = 1
b = 2
a = a + b
b = a - b
a = a - b
print a, b
Что делает этот пример? Проверить свою догадку можно с помощью интерактивного режима интерпретатора Python.
При работе с Python в интерактивном режиме как бы вводится одна большая программа, состоящая из последовательных действий. В примере выше использованы операторы присваивания и оператор print
.
Оператор условия и выбора
Разумеется, одними только последовательными действиями в программировании не обойтись, поэтому при написании алгоритмов используется еще и ветвление:
if a > b:
c = a
else:
c = b
Этот кусок кода на Python интуитивно понятен каждому, кто помнит, что if
по–английски значит «если», а else
— «иначе». Оператор ветвления имеет в данном случае две части, операторы каждой из которых записываются с отступом вправо относительно оператора ветвления. Более общий случай — оператор выбора — можно записать с помощью следующего синтаксиса (пример вычисления знака числа):
if a < 0:
s = -1
elif a == 0:
s = 0
else:
s = 1
Стоит заметить, что elif
— это сокращенный else if
. Без сокращения пришлось бы применять вложенный оператор ветвления:
if a < 0:
s = -1
else:
if a == 0:
s = 0
else:
s = 1
В отличие от оператора print
, оператор if–else
— составной оператор.