почему * встроенный * python модуль 'sys' должен быть явно импортирован с помощью инструкции' import'?
Документация python гласит:
" особого внимания заслуживает один конкретный модуль: sys, который встроен в каждый интерпретатор Python."
Я понимаю, что если модуль встроен в сам интерпретатор Python, то нет необходимости в явном операторе импорта. Если модуль sys встроен в интерпретатор Python, то почему для модуля sys требуется явный оператор импорта?
2 ответов:
sysимпортируется при запуске Python. Поэтому при импортеsysон фактически ничего не делает, кроме привязки имени переменной к уже существующему модулю.При создании экземпляра модуля нет никаких причин связывать имя
sysв области действия модуля, когда многие (вероятно, большинство) модулей не должны использоватьsys. Таким образом, это имя не входит в область действия по умолчанию.
importвыполняет две функции:
- он загружает модуль с диска, инициализируя и выполняя его.
- добавляет модуль в локальное пространство имен.
Со "встроенными" модулями пункт 1 не является проблемой, но пункт 2 все еще важен; без него код бросил бы
NameError.
Comments