python - python中的全局变量(矩阵)

标签 python numpy

我正在尝试使用 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 不能全局使用吗?

enter image description here

最佳答案

您当然可以为此使用全局变量。然而,这不被认为是好的做法。您可能想阅读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/

相关文章:

python - cython做了哪些numpy优化?

python - 将 dtype <U30 的 numpy ndarray 转换为 float

python - Makefile中 "-I"的作用是什么?

python - 根据另一个列表拆分列表(元素按顺序一起处理)

python - 在 python 中更快地实现 ReLu 导数?

python - 如何有效地对 numpy 数组的每个第 N 个元素进行加法或乘法?

python - 在图像中查找 RGB 颜色的边界框

python - 基于频繁/常用词的直方图

python - 通过 Popen 帮助 ping

python - Numpy 多阶段容器构建——Alpine