gpt4 book ai didi

python - 内置模块的内容如何在不导入 Python 的情况下在全局命名空间中可用?

转载 作者:太空狗 更新时间:2023-10-30 01:18:11 25 4
gpt4 key购买 nike

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

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

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

我遇到过this question .但它部分回答了我的问题。

最佳答案

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

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

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com