全局变量(矩阵)在Python中

2024-10-03 02:47:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用纽比矩阵作为全局变量。但是,当我在其他脚本中引用下面的函数时,我在变量表中只得到“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


Tags: 函数importnumpy脚本defasnp公司
2条回答

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

更好的方法是从函数中返回变量,以便它可以在代码的其他地方使用:

^{pr2}$

试试这个:

a = 25
b = 37
def foo():
    global a  # 'a' is in global namespace
    a = 10
    b = 0
foo()
# you should have now a = 10 and b= 37. If this simple example works, replace then a by your matrix.

相关问题 更多 >