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