python的全域性變數玩法還挺特別的

冷侃發表於2014-04-09
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

 

相關文章