Найти тему
Будни питониста

Структура программы.

Структура Руthоn-программы довольно проста, но, тем не менее, она отличается от структуры программ, используемой в других языках программирования. Если вы ранее программировали на С/С++, РНР илиjаvа, вам поначалу будет немного непривычно.

Если вы программируете в Linux, то первой строкой должна быть строка, указывающая путь к интерпретатору Python:

#!/usr/bin/python

Обратите внимание: пробелов быть не должно. Ни до решетки(#), ни после нее, ни после восклицательного знака. Узнать путь к Python в вашей системе можно с помощью команды which:

$ which python

/usr/Ьin/python

Если вы указали путь к интерпретатору, то вы можете превратить свою программу в полноценный сценарий и запускать ее без указания python в командной строке. Сейчас поясню. Пусть у вас есть сценарий first.py. В нем в качестве первой строки указан путь к Python. Вам нужно его сделать исполнимым:

$ chmod +х first.py

После этого вы можете запустить его так:

$ ./first.py

Строка с указанием пути к интерпретатору - это не инструкция Python, а инструкция командного интерпретатора bash, который, благодаря ней, будет знать, какая программа будет обрабатывать сценарий. Если вы не укажите эту первую строку, bash посчитает сценарий first.py собственным сценарием, а поскольку синтаксис bash ни разу не похож на синтаксис Python, возникнет ошибка.

Если вы не хотите превращать свои программы в отдельные сценарии, вы можете запускать их, как в Windows:

$ python <имя_программы.py>

Вторая строка программы (или первая, если вы программируете в Windows) - это строка с указанием кодировки:

# -*- coding: utf-8 -*import

По умолчанию используется кодировка UTF-8, и эту строку можно было бы не указать, но ее наличие в ваших программах свидетельствует о хорошем тоне. Если кодировка файла отличается от UTF-8, данная строка (с указанием конкретной кодировки) обязательна!

После этих двух служебных строк начинается код самой программы. Примечательная особенность Python заключается в том, что каждая инструкция располагается на отдельной строке и при этом, если она не является вложенной, то должна начинаться с самого начала строки. Рассмотрим пример, продемонстрированный на рисунке Простейшая программа - и с ошибкой. Как видите, инструкция начинается с пробела, а не с начала строки, поэтому вы получили ошибку SyntaxError:

unexpected indent

Ошибка: неожиданный отступ
Ошибка: неожиданный отступ

Хорошо, что интерпретатор подсказывает, что не так и даже показывает позицию ошибки.

Во многих языках программирования (РНР, С, Pascal, Perl,Java и др.) каждая инструкция должна завершаться точкой с запятой. В Python точка с запятой необязательна. Но и ее наличие не вызовет ошибку, если вы вдруг поставили ее по привычке. Поэтому следующие два варианта инструкции - правильные с точки зрения синтаксиса:

print("Hi!")

print("Hi!");

Концом инструкции в Python считается конец строки ( символ EOL). Однако точка с запятой обязательна, если вы хотите поместить в одну строку несколько инструкций, например:

>>> а = 2; Ь = 3; с = 4; х = а+ Ь * с;

>>> print(x)

14

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

$х = О;

while ($х < 5) {

echo "$х \n";

$х++;

echo "Все";

А вот аналогичный код на Python:

х = о

while х < 5:

print(x)

х += 1

print("Bce")

Перед всеми инструкциями блока должно быть расположено одинаковое количество пробелов. Так Python распознает, какая инструкция и к какому блоку относится. При написании кода в IDLE одинаковое количество пробелов проставляется автоматически, а для завершения блока при переходе на следующую строку вы должны нажать Backspace, а затем - Enter. При написании кода в редакторе количество пробелов нужно учитывать самостоятельно. Обычно используется 4 пробела. Если количество пробелов внутри блока - разное, Python выведет фатальную ошибку и выполнение программы будет остановлено. Сначала вам будет непривычно, но спустя месяц программирования на Python вы научитесь писать понятный и красивый код. Ведь в других языках программирования вы можете написать хоть все инструкции программы, в том числе вложенные, в одну строку. Главное, чтобы было правильно с точки зрения синтаксиса. В результате читать такую "кашу" из кода не очень удобно. В Python такого быть не может - хочешь не хочешь, а придется создавать понятный код.

Если весь ваш блок состоит всего из одной инструкции, разрешается разместить ее на одной строке с основной инструкцией, например:

for х in range (1 , 10): print(x)

Если инструкция слишком длинная, то вы можете разбить ее или символом перевода строки (\) или поместив ее в круглые скобки. Во втором случае внутри инструкции вы сможете использовать даже комментарии. Примеры:

х = а + Ь \

* с

х = (а+ Ь # Comrnent

* с)

В первом случае никакие другие символы не разрешаются, в том числе и комментарии.

С подпиской рекламы не будет

Подключите Дзен Про за 159 ₽ в месяц