1

简而言之,来自 Python

自定义进口商

Python 提供的一个高级的、很少需要的功能是能够更改部分或全部 import 和 from 语句的语义。

重新绑定 __import__

__import__ 您可以将模块的属性 重新绑定 builtin 到您自己的自定义导入器函数——例如,使用第 174 页“Python 内置函数”中所示的通用内置包装技术。

  1. 在“您可以重新绑定模块的 __import__ 属性”中 builtin,“模块 ”应该改为builtin“模块 ”吗?builtins

  2. __import__ 模块的属性 builtin”是否默认绑定importlib.__import__功能?或者“模块 builtin”是否提供绑定到其 __import__ 属性的默认实现?

4

1 回答 1

3
  1. 是的,这是书中的一个错字。在 Python 2 中,相同的模块被命名为__builtin__(no s),在 Python 3 中它被命名为builtins.

  2. builtins.__import__是与 不同的函数importlib.__import__。如果您要重新绑定builtins.__import__,请保存参考。

于 2017-06-20T14:18:24.133 回答