Python更新全局变量

Python更新全局变量,python,numpy,Python,Numpy,谁能告诉我我的代码有什么错吗。为什么我不能更新我的全局变量?据我所知,如果它是一个全局变量,我可以在任何地方修改它 如果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() 如果要在函数中使用全局变量,则

谁能告诉我我的代码有什么错吗。为什么我不能更新我的全局变量?据我所知,如果它是一个全局变量,我可以在任何地方修改它

如果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()

如果要在函数中使用全局变量,则必须在该函数中说它是全局变量:

import numpy as np

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

hello()
如果不在函数中使用行
全局a
,则会创建一个新的局部变量a。因此关键字
global
不用于创建全局变量,而是用于避免创建“隐藏”已存在全局变量的局部变量