python的全局变量玩法还挺特别的

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

 

posted @ 2014-04-09 15:38 冷侃 阅读(...) 评论(...) 编辑 收藏