Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 默认情况下,`import`语句和`builtin.\uuuuu import.\uuuuu()`函数都是基于`importlib.\uuuu import()`函数实现的吗?_Python_Python 3.x_Python Import_Python Internals_Python Importlib - Fatal编程技术网

Python 默认情况下,`import`语句和`builtin.\uuuuu import.\uuuuu()`函数都是基于`importlib.\uuuu import()`函数实现的吗?

Python 默认情况下,`import`语句和`builtin.\uuuuu import.\uuuuu()`函数都是基于`importlib.\uuuu import()`函数实现的吗?,python,python-3.x,python-import,python-internals,python-importlib,Python,Python 3.x,Python Import,Python Internals,Python Importlib,从 importlib包的用途有两个 一是提供 执行导入语句(因此, )在Python源代码中。这提供了一个 可移植到任何Python解释器的import的实现。 这也提供了一个更容易理解的实现 而不是用Python以外的编程语言实现的 第二,实现导入的组件在此包中公开, 使用户更容易创建自己的自定义对象(已知 一般作为进口商)参与进口过程 这是否意味着import语句和builtin.\uuuu import\uuuu()函数在默认情况下都是基于importlib.\uuu import()函

importlib
包的用途有两个

一是提供 执行导入语句(因此, )在Python源代码中。这提供了一个 可移植到任何Python解释器的
import
的实现。 这也提供了一个更容易理解的实现 而不是用Python以外的编程语言实现的

第二,实现导入的组件在此包中公开, 使用户更容易创建自己的自定义对象(已知 一般作为进口商)参与进口过程

这是否意味着
import
语句和
builtin.\uuuu import\uuuu()
函数在默认情况下都是基于
importlib.\uuu import()
函数实现的

但这意味着
builtins.\uuuuu导入
默认情况下不基于
importlib.\uuuu导入
实现


buildlins.\uuuuu import\uuuu
函数由
import
语句调用。因此,如果默认情况下,
inbuildins.\uuuuuu import\uuuuuu
不是基于
importlib来实现的。
import
语句也不是基于
importlib.\uuuu import\uuu
默认情况下。

否,实际的导入代码是Python代码的一个端口。请参阅(which
builtins.\uuuuu import\uuuu
基本上是一个轻量级Python->C包装器),其中包含以下注释:

/*下面的代码是importlib.\uuuuu import\uuuuuuuuu()&gcd\u import(),移植到C
为了提高性能*/
因此,出于性能原因,
import
使用C优化的代码,而不是
importlib
的Python实现。这两个实现保持同步,但是,如果要创建一个pull请求,Python核心开发人员也会要求您在接受更改之前更新另一个


你对重点的使用使我相信你误读了文件
importlib
不是import语句的实现。这是Python源代码中import语句的实现,与C代码中import语句的实现不同否,实际的导入代码是Python代码的一个端口。请参阅(which
builtins.\uuuuu import\uuuu
基本上是一个轻量级Python->C包装器),其中包含以下注释:

/*下面的代码是importlib.\uuuuu import\uuuuuuuuu()&gcd\u import(),移植到C
为了提高性能*/
因此,出于性能原因,
import
使用C优化的代码,而不是
importlib
的Python实现。这两个实现保持同步,但是,如果要创建一个pull请求,Python核心开发人员也会要求您在接受更改之前更新另一个


你对重点的使用使我相信你误读了文件
importlib
不是import语句的实现。这是Python源代码中import语句的实现,与C代码中import语句的实现不同。“一是在Python源代码中提供import语句的实现(因此扩展为_import__()函数)”这三者之间的关系意味着什么?@Tim:Python代码被更多的人理解;通过提供Python实现,更多的人可以尝试了解这一切是如何工作的,也许还可以提供改进建议。我明白了,谢谢。默认情况下,
buildlins.\uuuuu import\uuuuu
属性绑定到
buildlins.\uuu import\uuuu
函数,并且可以重新绑定到
importlib.\uu import
函数或任何自定义函数。\uu import\uuuu=@Tim:是的,您可以执行
内置。\uu import\uuuuu=importlib.\uu import
,让您测试Python实现。
import
语句是基于
内置函数或
内置属性实现的吗?我这样问是因为如果它是基于属性实现的,当我将
内置项重新绑定到不同于
内置项的函数时,
import
语句不会基于
内置函数来实现。\uuuuu import\uuuuu
函数,而是在不同的函数上重新绑定到
内置属性。\uuuu import\uuuu
属性,对吗?谢谢。“一是在Python源代码中提供import语句的实现(因此扩展为_import__()函数)”这三者之间的关系意味着什么?@Tim:Python代码被更多的人理解;通过提供Python实现,更多的人可以尝试了解这一切是如何工作的,也许还可以提供改进建议。我明白了,谢谢。默认情况下,
buildlins.\uuuuu import\uuuuu
属性绑定到
buildlins.\uuu import\uuuu
函数,并且可以重新绑定到
importlib.\uu import
函数或任何自定义函数。\uu import\uuuu=@Tim:是的,您可以执行
内置。\uu import\uuuuu=importlib.\uu import
,让您测试Python实现。
import
语句是基于
内置函数或
内置属性实现的吗?我这样问是因为如果它是基于属性实现的,当我将
内置项重新绑定到一个不同于
内置项的函数时,
import
语句将不会实现