Python:在方法全局中声明字典吗?

时间:2016-03-31 00:42:42

标签: python python-2.7 dictionary

因此,在我的方法下,我创建了一个包含许多键及其内容的字典。 我想在另一个函数中使用它,我想知道在一个方法中创建的字典是否是全局的,并且可以在另一个字典中使用。

如果它不是全球性的,我也想知道是否有办法使它们成为全球性的。

1 个答案:

答案 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

正如其他人所说,全局变量几乎不是解决问题的正确方法。