使用 locals() 可查看函数内局部作用域的变量字典,如 my_function 中输出 {‘a’: 1, ‘b’: ‘hello’};2. globals() 返回模块级全局命名空间,包含变量、函数和导入模块等;3. dir() 不传参时列出当前作用域名称,适合交互环境浏览,但函数中建议用 locals() 获取局部变量。

在 Python 中,查看当前作用域中的对象可以通过内置函数 locals() 和 globals() 实现,具体使用方式取决于你想查看的作用域类型。
查看局部作用域对象:locals()
在函数或方法内部,调用 locals() 可以返回一个字典,包含当前局部作用域中所有变量和它们的值。
例如:
def my_function(): a = 1 b = 'hello' print(locals())my_function()
输出: {'a': 1, 'b': 'hello'}
这个方法适合调试时快速了解函数内定义了哪些变量。
立即学习“Python免费学习笔记(深入)”;
查看全局作用域对象:globals()
使用 globals() 可以获取当前模块级别的全局变量字典,包括导入的模块、定义的函数、类和变量等。
例如:
a = 10b = [1, 2, 3]print(globals().keys()) # 查看所有全局名称
输出包含: 'name', 'file', 'a', 'b' 等
在模块顶层或函数内部都可以调用 globals(),它反映的是整个模块的命名空间。
动态检查当前可用名称:dir()
如果不传参数调用 dir(),它会尝试返回当前作用域中的名字列表。在交互环境中效果最明显。
例如在 REPL 中:
>>> x = 1>>> y = 'test'>>> dir()# 输出包含: [..., 'x', 'y']
在函数中 dir() 不会自动列出局部变量,建议优先使用 locals() 获取局部信息。
基本上就这些常用方法。根据场景选择 locals() 看函数内部,globals() 看模块全局,dir() 辅助浏览名字。不复杂但容易忽略细节。
以上就是python如何查看当前作用域对象?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1382341.html
微信扫一扫
支付宝扫一扫