Читать «Язык программирования 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 — составной оператор.