即使在将变量设置为局部变量后,为什么我仍未定义错误全局变量

时间:2018-08-17 16:22:00

标签: python

为什么我在函数内部将变量配置为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']起作用,但是为什么我们必须那样给。应该优先考虑本地权利而不是全局权利?

0 个答案:

没有答案