例如这段代码
d = {'a':0} def f(): d['a'] = 9
这里我们直接定义一个字典,但是在下面的函数定义中直接使用了函数外面没有声明为全局变量的字典。这是因为,在d['a'] = 9
这句中,如果把d当作局部变量,则会报KeyError错,所以这只能是全局的d,因此,不用再显示的声明为global全局
实际上类似的如list等对象,可以通过list.append()之类的方法来修改,跟创建变量不冲突,不产生歧义,也不用显示声明为global
参考:http://blog.csdn.net/handsomekang/article/details/41392417?utm_source=tuicool