2016-10-10 16 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はグローバル変数の作成には使用されませんが、既存のグローバル変数を「隠す」ローカル変数を作成しないようにします。

関連する問題