微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

我遇到了this question.但它给出了我的问题的部分答案.

最佳答案
答案的非实现细节部分是内置模块,或Python 2中的__builtin__,提供对内置命名空间的访问.如果你想修改内置插件(你通常不应该这样做),在内置设置上设置属性是你如何去做的.

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

原文地址:https://www.jb51.cc/python/438948.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐