python - 如何获取范围内可用的所有变量?
问题描述
如果我有以下代码:
var_global = "global"
def outer() :
var_outer = "outer"
def inner() :
var_inner = "inner"
# How to get here all variables available (it should contain
# var_inner, var_outer, var_global)?
print("inner", locals(), globals())
return inner
我跑:
outer()()
我想在print
位置获取所有变量。这也应该包括在内var_outer
。但既不locals
也不globals
提供。
解决方案
只有在实际包含对变量的访问时才会触发提供inner
访问权限的闭包变量机制。否则,不会被保存,并且没有内省会让您访问它。var_outer
inner
var_outer
var_outer
推荐阅读
- google-cloud-platform - G-storage bucket:如果a,web UI,文件上传被取消,重新上传,文件会被覆盖,还是重复?
- c++ - 如何调用类函数但使用不同的类对象
- android - 为什么 Flutter 构建失败并出现错误无法解析配置“:app:debugRuntimeClasspath”的所有文件
- css - 位置:粘在css网格中?
- html - 选择输入大于引导程序 4 中的输入字段
- botframework - 对 botframework 的多个 Slack 通道支持
- python-3.x - 如果 glmnet 确实需要浮点数,为什么当我提供浮点数时 glmnet.py 会在 cvglmnet 上抛出 TypeError?
- sql - 变量字符串:需要获取位于分隔符之间的子字符串
- r - 使用 ggbarplot 的 x 数据以外的其他列作为 x 标签
- c# - 如何使用 MVVM 在 WPF 中基于绑定到 X 和 Y 位置属性从 Canvas 上的 2 个列表中分发模板项目