有人能告诉我在我的代码中我做错了什么。怎么来,我无法更新我的全局变量?据我了解,如果它是一个全局变量,我可以在任何地方修改它。
如果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()
答案 0 :(得分: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
不用于创建全局变量,而是用于创建一个“隐藏”已存在的全局变量的本地变量。