почему * встроенный * python модуль 'sys' должен быть явно импортирован с помощью инструкции' import'?



Документация python гласит:



" особого внимания заслуживает один конкретный модуль: sys, который встроен в каждый интерпретатор Python."



Я понимаю, что если модуль встроен в сам интерпретатор Python, то нет необходимости в явном операторе импорта. Если модуль sys встроен в интерпретатор Python, то почему для модуля sys требуется явный оператор импорта?

519   2  

2 ответов:

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

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

import выполняет две функции:

  1. он загружает модуль с диска, инициализируя и выполняя его.
  2. добавляет модуль в локальное пространство имен.

Со "встроенными" модулями пункт 1 не является проблемой, но пункт 2 все еще важен; без него код бросил бы NameError.

Comments

    Ничего не найдено.