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