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

Ввиду того, что синтаксис import потенциально опасен появлением конфликтов имен, некоторые коллективы разработчиков вырабатывают свои правила, устанавливающие, что в их разработках может использоваться только синтаксис import importable. Однако некоторые крупные пакеты, в частности библиотеки GUI (Graphical User Interface - графический интерфейс пользователя), нередко импортируются таким способом, потому что они включают огромное число функций и классов (собственных типов данных), для которых было бы слишком утомительно вводить вручную полные имена.

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

Далее в списке находятся пути к каталогам из переменной окружения PYTHONPATH, если она определена. И в конце списка находятся пути к каталогам стандартной библиотеки языка Python -они определяются на этапе установки Python. А Когда модуль импортируется впервые, если он не является / встроенным, интерпретатор пытается отыскать его поочередно в каждом из каталогов, перечисленных в списке sys. path.
Навигация: 1 2 3
 
 
© Copyright