Генераторы словарей и модули Рython
Функции в языке Python Функции в языке PythonВсе функции в языке Python возвращают какое-либо значение, хотя вполне возможно (и часто так и делается) просто игнорировать это значение. Возвращаемое значение может быть единственным значением или кортежем значений,...
Реализация генераторов Реализация генераторовМы рассмотрели коллекции-последовательности, tuple, collections, na-medtuple и list, поддерживающие, как и строки, возможность извлечения срезов. Также было рассмотрено использование оператора распаковывания...
Парсинг документов XML Парсинг документов XMLXML: Для парсинга документов XML широко используются два основных подхода. Один из них основан на анализе DOM (Document Object Model -объектная модель документа), а другой - на использовании SAX (Simple API for XML - упрощенный...
Копирование коллекций Копирование коллекцийКопирование коллекций: Поскольку в языке Python повсюду используются ссылки на объекты, когда выполняется оператор присваивания (=), никакого копирования данных на самом деле не происходит. Если справа от оператора находится литерал,...
Создаем модуль
Программа может импортировать некоторые модули, которые в свою очередь импортируют другие модули, включая те, что уже были импортированы. Это не является проблемой. Всякий раз, когда выполняется попытка импортировать модуль, интерпретатор Python сначала проверяет - не был ли импортирован требуемый модуль ранее.

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

Когда интерпретатору требуется скомпилированный байт-код модуля, он генерирует его автоматически - этим Python отличается от таких языков программирования, как Java, где компилирование в байт-код должно выполняться явно. Сначала интерпретатор попытается отыскать файл, имя которого совпадает с именем файла, имеющего расширение .ру, но имеющий расширение .руо - это оптимизированный байт-код скомпилированной версии модуля.
Навигация: 1 2 3
 
 
© Copyright