因此,在我的方法下,我创建了一个包含许多键及其内容的字典。 我想在另一个函数中使用它,我想知道在一个方法中创建的字典是否是全局的,并且可以在另一个字典中使用。
如果它不是全球性的,我也想知道是否有办法使它们成为全球性的。
答案 0 :(得分:1)
默认情况下,方法中声明的词典(或任何变量)不是全局的。它们包含在方法的范围内。
我写了一个证明它的测试脚本。的 global_test.py 强>:
def test():
myDict = {
"key1" : "value1"
}
print "Inside method " + myDict["key1"]
test()
#Try calling dictionary created in test() method:
print "Outside method" + myDict["key1"]
运行脚本:> python global_test.py
Inside method value1
Traceback (most recent call last):
File "global_test.py", line 11, in <module>
print "Outside method" + myDict["key1"]
NameError: name 'myDict' is not defined
正如其他人所说,全局变量几乎不是解决问题的正确方法。