如果我有以下代码:
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
提供。
var_outer
确实没有提供inner()
。使变量在嵌套函数中可用需要从一开始就以不同的方式存储该变量。由于缺少对嵌套函数中变量的任何引用,Python并未这样做。如果您确实插入了这样的引用(例如裸语句var_outer
),它将显示在的输出中locals()
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句