在python中设置全局矩阵

在python中设置全局矩阵,python,matrix,global,setting,Python,Matrix,Global,Setting,我想将传入的数据保存到一个数组中,该数组可以记住它以前的数组位置 test.py 从其他模块调用两次时: test.start_input (5) test.start_input (6) 错误输出为: UnboundLocalError: local variable 'data' referenced before assignment 我试图将data=0放入start\u inputatm\u数据模块中,但数据被输入到 data_hold[0] = 5 data_hold[0] =

我想将传入的数据保存到一个数组中,该数组可以记住它以前的数组位置 test.py

从其他模块调用两次时:

test.start_input (5)
test.start_input (6)
错误输出为:

UnboundLocalError: local variable 'data' referenced before assignment
我试图将data=0放入start\u inputatm\u数据模块中,但数据被输入到

data_hold[0] = 5
data_hold[0] = 6
我希望输出为:

data_hold[0] = 5
data_hold[1] = 6, and so on
比如:

data_hold = []

def start_input(atm_data):
    data_hold.append(atm_data)
应该有效,没有任何全球性的东西


但是,尽管如此,模块并不能很好地替代适当的类,这正是您想要的。

感谢您的及时响应。您能解释一下您在做什么吗?我想访问变量“data_hold”的最新值,该变量一直被其他模块修改。
data = 0
data_hold = {}
atm_data  = {}

def start_input(atm_data):
    global data
    data_hold[data] = atm_data
    data +=1

 testing:
 start_input(5)
 start_input(6)
 start_input(7)

 output:
 data_hold[0] = 5
 data_hold[1] = 6
 data_hold[2] = 7
data = 0
data_hold = {}
atm_data  = {}

def start_input(atm_data):
    global data
    data_hold[data] = atm_data
    data +=1

 testing:
 start_input(5)
 start_input(6)
 start_input(7)

 output:
 data_hold[0] = 5
 data_hold[1] = 6
 data_hold[2] = 7