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代码的一个端口。请参阅(whichbuiltins.\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代码的一个端口。请参阅(whichbuiltins.\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
语句将不会实现