我正在尝试使用 numpy 矩阵作为全局变量。但是,当我在其他脚本中引用下面的函数时,我的变量表中只得到“global_gABD = []”和“gABD = matrix([[1,6,6]])”(参见附图)。我的 gABD 没有保存为全局变量。
def gABD():
global gABD
import numpy as np
gABD = np.matrix((1,6,6))
gABD()
有没有办法做到这一点,或者 numpy.matrix 不能全局使用吗?
最佳答案
您当然可以为此使用全局变量。然而,这不被认为是好的做法。您可能想阅读Why are global variables evil?请注意,您的变量和函数具有相同的名称,这将导致问题。
def gABD():
global mat
import numpy as np
mat = np.matrix((1,6,6))
gABD()
print (mat)
# [[1 6 6]]
更好的方法是从函数中返回变量,以便可以在代码中的其他地方使用它:
def gABD():
import numpy as np
return np.matrix((1,6,6))
my_matrix = gABD()
print (my_matrix)
# [[1 6 6]]
关于python - python中的全局变量(矩阵),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48763676/