Python更新全局变量

时间:2016-10-10 18:10:14

标签: 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()

1 个答案:

答案 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不用于创建全局变量,而是用于创建一个“隐藏”已存在的全局变量的本地变量。