global g_arr def add(): #global g_arr g_arr = [] g_arr.append(1) add() print g_arr #你将收获一个NameError错误 ############################ def add2(): global g_arr g_arr = [] g_arr.append(1) print g_arr #ok,这是一个数组了 #简单的说虽说你声音为全局变量,但是,在函数内部你也得再次声音,这应该是作为命名空间的补充吧
查一下资料http://woodpecker.org.cn/diveintopython/html_processing/locals_and_globals.html
原来,可以理解为所有的变量都是一个字典里面的值,甚至可以遍历
if __name__ == "__main__": for k, v in globals().items(): print k, "=", v