Программа на Python состоит из нескольких файлов, в которых содер- жится исходный код. Каждый такой файл это модуль, группирующий код и дан


Download 0.89 Mb.
Pdf ko'rish
bet10/29
Sana21.04.2023
Hajmi0.89 Mb.
#1369643
TuriПрограмма
1   ...   6   7   8   9   10   11   12   13   ...   29
Bog'liq
Модули в python

Глава 6. Модули
238
определяется на основании внутренней временной метки файла, содержащего байт-
код, а не даты, записанной в файловой системе), то Python повторно не компилирует 
модуль.
Получив файл с байт-кодом, созданный посредством компиляции или прочитан-
ный из файловой системы, Python выполняет тело модуля для инициализации объ-
екта модуля. Если модуль является расширением, Python вызывает функцию иници-
ализации модуля.
Основная программа
Обычно выполнение приложения Python начинается со сценария верхнего уров-
ня, также называемого основной программой (см. раздел “Программа python” в гла-
ве 2). Основная программа выполняется подобно любому другому загружаемому мо-
дулю, за исключением того, что Python сохраняет скомпилированный байт-код в па-
мяти, но не сохраняет на диске. Модуль основной программы всегда носит одно и то 
же имя — '__main__', хранящееся как в глобальной переменной __name__ (атрибут 
модуля), так и в виде ключа в словаре sys.modules.
Не импортируйте .py-файл, который используете в качестве основной 
программы
Не следует импортировать тот же .py-файл, который является основ-
ной программой. Если вы сделаете это, то модуль загрузится вновь 
и его тело выполнится еще раз с самого начала в отдельном объекте 
модуля с другим значением атрибута __name__.
Код модуля Python может протестировать, является ли используемый модуль ос-
новной программой, проверив, имеет ли глобальная переменная __name__ значение 
'__main__'. Показанную ниже идиому часто используют для защиты кода, чтобы он 
выполнялся только в том случае, если модуль запускается в качестве основной про-
граммы.
if __name__ == '__main__':
Если модуль предназначен только для импортирования, он должен нормально 
проходить блочные тесты, когда выполняется в качестве основной программы (раз-
дел “Модульное и системное тестирование” в главы 16).

Download 0.89 Mb.

Do'stlaringiz bilan baham:
1   ...   6   7   8   9   10   11   12   13   ...   29




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling