我已经使用Python很长时间了。我从未发现内置函数是如何工作的。换句话说,在不导入任何模块来使用它们的情况下如何包含它们?如果要(本地)添加到他们该怎么办?

这似乎很幼稚。但是,我还没有真正找到能全面解释在开发脚本时如何使用内置函数,全局变量等的答案。

简而言之,我们在哪里包括builtins模块?

我遇到了this question。但这部分回答了我的问题。

最佳答案

答案的未实现细节部分是builtins模块或Python 2中的__builtin__提供了对内置命名空间的访问。如果您想修改内置功能(通常不应该这样做),则可以在builtins上设置属性。

答案的实现细节部分是Python以多种方式跟踪内置函数。例如,每个框架对象都跟踪其使用的内置 namespace ,该 namespace 可能与其他框架的内置 namespace 不同。您可以通过框架的f_builtins属性访问它。当 LOAD_GLOBAL 指令未能在框架的全局变量中找到名称时,在框架的内置文件中添加looks。大多数全局 namespace 中也有一个__builtins__全局变量,但它并不直接用于内置变量查找;相反,它用于在创建框架对象期间初始化certain situations中的f_builtins。全局builtins中还有一个PyInterpreterState引用,如果没有当前框架对象,则为used as default builtins

关于python - 没有在Python中导入的情况下,如何在全局 namespace 中使用内置模块的内容?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54173621/

10-13 00:15