为什么我在函数内部将变量配置为local并在函数内部给出print语句后仍未定义错误全局变量
dict1 = {'a': 1, 'c': 3, 'b': 2}
def fun1():
for i in dict1:
locals()[i] = dict1[i]
print a
fun1()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 4, in fun1
NameError: global name 'a' is not defined
我知道是否可以给打印locals['a']
起作用,但是为什么我们必须那样给。应该优先考虑本地权利而不是全局权利?