На этом шаге мы рассмотрим структуру программы.
Программа на языке Python представляет собой обычный текстовый файл с инструкциями. Каждая инструкция располагается на отдельной строке. Если инструкция не является вложенной, то она должна начинаться с начала строки, иначе будет выведено сообщение об ошибке (рисунок 1).
Рис.1. Сообщение об ошибке
В этом случае перед инструкцией import расположен один лишний пробел, который привел к выводу сообщения об ошибке.
Во первой строке файла желательно указать кодировку. Если кодировка не указана, то предполагается, что файл сохранен в кодировке UTF-8. Для кодировки Windows-1251 строка будет выглядеть так:
# -*- coding: ср1251 -*-
Редактор IDLE учитывает указанную кодировку и автоматически производит перекодирование при сохранении файла. Получить полный список поддерживаемых кодировок и их псевдонимы позволяет код, приведенный ниже:
# -*- coding: utf-8 -*- import encodings.aliases arr = encodings.aliases.aliases keys = list(arr.keys()) keys.sort() for key in keys: print("%s => %s" % (key, arr[key]))
Рис.2. Список кодировок
Во многих языках программирования (например, в PHP, Perl и др.) каждая инструкция должна завершаться точкой с запятой. В языке Python в конце инструкции также можно поставить точку с запятой, но это не обязательно. Более того, в отличие от языка JavaScript, где рекомендуется завершать инструкции точкой с запятой, в языке Python точку с запятой ставить не рекомендуется. Концом инструкции является конец строки. Тем не менее, если необходимо разместить несколько инструкций на одной строке, точку с запятой следует указать:
>>> х = 5; y = 10; z = х + y # Три инструкции на одной строке >>> print(z) 15
Еще одной отличительной особенностью языка Python является отсутствие ограничительных символов для выделения инструкций внутри блока. Например, в языке РНР инструкции внутри цикла while выделяются фигурными скобками:
$i=1; while ($i < 11) { echo $i . "\n"; $i++; } echo "Конец программы";
В языке Python тот же код будет выглядеть по-другому:
i = 1 while i < 11: print(i) i += 1 print("Конец программы")
Обратите внимание, что перед всеми инструкциями внутри блока расположено одинаковое количество пробелов. Именно так в языке Python выделяются блоки. Инструкции, перед которыми расположено одинаковое количество пробелов, являются телом блока. В нашем примере две инструкции выполняются десять раз. Концом блока является инструкция, перед которой расположено меньшее количество пробелов. В нашем случае это функция print (), которая выводит строку "Конец программы". Если количество пробелов внутри блока окажется разным, то интерпретатор выведет сообщение о фатальной ошибке, и программа будет остановлена.
Если блок состоит из одной инструкции, то допустимо разместить ее на одной строке с основной инструкцией. Например, код:
for i in range (1, 11): print(i) print ("Конец программы")
for i in range (1, 11): print(i) print("Конец программы")
Если инструкция является слишком длинной, то ее можно перенести на следующую строку, например так:
х = 15 + 20 \
+ 30
print(х)
х = (15 + 20 # Это комментарий + 30) print(х)
arr = [15, 20, # Это комментарий 30] print(arr)
arr = {"x": 15, "y": 20, # Это комментарий "z": 30} print (arr)
На следующем шаге мы рассмотрим комментарии.