当内置函数来实现(Where builtin functions are implemented)

2019-10-28 09:03发布

我想看看四周,但我找不到任何明确的关于这个话题。

是会自动导入每个Python启动时间在一个模块中实现的内置函数? 在这种情况下这是模块?

或者,内置函数只是嵌入Python解释器里面的功能呢?

Answer 1:

对于CPython的 ,内置的功能在实现(大部分) bltinmodule.c文件 。

唯一的例外是主要的类型; 之类的东西strdictlist都在自己的C文件Objects在C源代码目录 ; 这些被列为表中的bltinmodule源 。

从技术上讲,这被视为通过实施单独的模块对象,但一个在当前全局命名空间不包含一个名称是自动搜索。 所以,当你使用abs()在你的代码,并没有abs的对象在全局命名空间,内置插件模块也搜索该名称。

它也暴露了作为__builtin__模块 (或builtins在Python 3),因此您可以访问内置的,即使你的阴影任何在你的代码名称。 像sys模块,但是,它被编译成Python的二进制文件,并不能作为一个单独的动态加载的文件。



文章来源: Where builtin functions are implemented