如果没有在Python中导入,全局命名空间中的内置模块的内容如何可用?

And*_*uib 5 python python-3.x

我一直在使用Python很长一段时间.我从来没有发现内置函数是如何工作的.换句话说,如果没有导入任何模块来使用它们,它们是如何被包含的?如果我想添加(本地)怎么办?

这可能看起来很幼稚.但是,我还没有真正找到任何答案,全面解释我们在开发脚本时如何使用内置函数,全局变量等.

简而言之,我们在哪里包含内置模块?

我遇到过这个问题.但它给出了我的问题的部分答案.

use*_*ica 5

答案的非实现细节部分是builtins模块,或__builtin__在 Python 2 中,提供对内置命名空间的访问。如果你想修改内置builtins函数(你通常不应该),设置属性就是你要做的。

答案的实现细节部分是 Python 以多种方式跟踪内置函数。例如,每个框架对象都会跟踪它正在使用的内置命名空间,这可能与其他框架的内置命名空间不同。您可以通过框架的f_builtins属性访问它。当LOAD_GLOBAL指令无法在框架的全局变量中找到名称时,它会在框架的内置函数中查找__builtins__大多数全局命名空间中也有一个全局变量,但不直接用于内置变量查找;相反,它是用来初始化f_builtins某些情况下框架对象的创建过程中。builtinsglobal 中还有一个引用,用作默认内置PyInterpreterState函数 如果没有当前框架对象。