是否可以在运行时更改 Python 中的行为global
和local
变量?
在 Python 中,locals()
引用当前执行范围内的变量,这是一个dict
对象。
>>> locals()
{'__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__', '__doc__': None, '__package__': None}
是否可以将返回的引用替换locals()
为 a defaultdict
,但在替换之前保留以前的值(的副本locals()
)?
我希望这可以UnboundLocalException
在使用未初始化的变量并访问执行范围内的任何变量名时避免异常(未初始化的变量将采用指定的默认值)。
我试图locals()
通过将其重新分配给本地人来修改返回的值,但没有成功。
同样的问题也适用globals()
。