我
Data = {} 在 python 文件的顶部声明了分配字典的以下错误。当我在另一个 python 函数中为 Data 字典分配值时,我收到了这个错误
Data[key] = {'name1':dataArr[1],'name2':dataArr[2],'name3':dataArr[3],'name4':dataArr[4],'name5':dataArr[5]}
发生异常:在封闭范围内分配之前引用了 NameError 自由变量“数据”
我
Data = {} 在 python 文件的顶部声明了分配字典的以下错误。当我在另一个 python 函数中为 Data 字典分配值时,我收到了这个错误
Data[key] = {'name1':dataArr[1],'name2':dataArr[2],'name3':dataArr[3],'name4':dataArr[4],'name5':dataArr[5]}
发生异常:在封闭范围内分配之前引用了 NameError 自由变量“数据”
虽然字典是在程序的顶部声明的。当我在子方法中调用分配时,字典的分配出错了。从这个意义上说,Python 与 C# 略有不同。
#global scope
Data = {}
#Assign method
Data[key] = {'name1':dataArr[1],'name2':dataArr[2],'name3':dataArr[3],'name4':dataArr[4],'name5':dataArr[5]}
# main method
#this is duplication of assignment, but this resolved the issue. Would love to know why this was needed.
Data = {}
# Assign method
不确定,为什么我必须复制 Data = {} 的分配,但这个解决方案有效。很想知道为什么 Python 第二次需要这个分配,当我已经在全局范围内分配它时。