Импорт является формой привязки имени ;имена в текущем пространстве имен связаны с импортируемыми объектами.
Документация оператора import
называет его идентификатором , но идентификаторами являются имена .Импорт объекта всегда привязывается к идентификатору, но синтаксис as <identifier>
позволяет указать альтернативное имя, которое будет использоваться вместо имени по умолчанию.
При синтаксическом анализе синтаксиса Python в дереве абстрактного синтаксиса (это то, что компилятор CPythonделает, и вы можете сделать с ast
модуль ), тогда результирующие узлы Import
и ImportFrom
имеют 1 или более names
, каждый объект типа ast.alias
:
| Import(alias* names)
| ImportFrom(identifier? module, alias* names, int? level)
, а тип alias
имеет значение name
и asname
, оба идентификатора и asname
необязательны:
-- import name with optional 'as' alias.
alias = (identifier name, identifier? asname)
Так что они просто имена , переменные, и поскольку они отличаются от значений по умолчанию для этих импортов, их можно назвать псевдонимами.