2016-10-10 189 views
3

任何人都可以告訴我在我的代碼中我做錯了什麼。怎麼回事,我無法更新我的全局變量?據我的理解,如果它是一個全局變量,我可以在任何地方修改它。Python更新全局變量

如果numpy正在創建一個新數組(當我使用np.delete時),刪除numpy數組中元素的最佳方法是什麼?

import numpy as np 

global a 
a = np.array(['a','b','c','D']) 
def hello(): 
    a = np.delete(a, 1) 
    print a 

hello() 

回答

8

如果你想在函數中使用全局變量,你不得不說這是全球該函數:

import numpy as np 

a = np.array(['a','b','c','D']) 
def hello(): 
    global a 
    a = np.delete(a, 1) 
    print a 

hello() 

如果你的功能,你不會用線global a,一新的局部變量a將被創建。因此,關鍵字global不用於創建全局變量,但是爲了避免創建「隱藏」已存在的全局變量的本地變量。