【问题标题】:How to access a dictionary within a class?如何访问类中的字典?
【发布时间】:2018-05-09 21:48:24
【问题描述】:

我通过在文件顶部导入另一个 Python 文件来访问一个类。这个类看起来像这样:

class Something(object):
    a_dictionary = {1: 2, 3: 4, 5: 6}

    def __init__(self):
        stuff....

我的问题是如何从另一个文件访问a_dictionary。我似乎无法找到如何访问不在另一个文件的函数中的字典。

我是 Python 的初学者,我到处寻找这个答案,但我找不到。我基本上需要能够从另一个文件中遍历上述字典。

【问题讨论】:

标签: python class dictionary python-import


【解决方案1】:

这样的事情应该可以工作:

from your_module import Something
print (Something.a_dictionary) # prints {1: 2, ...}

【讨论】:

    【解决方案2】:

    在这种情况下,a_dictionary 是一个类变量,因此是对象__dict__ 的一部分。您可以像这样在另一个文件中访问该字典:

    from your_file import Something
    
    new_object = Something()
    print(new_object.a_dictionary)
    

    访问类变量的方式与访问实例变量的方式相同。类变量和实例变量之间的唯一区别是,类变量在对象的所有个实例中具有相同的值,而实例变量特定于单个实例。

    【讨论】:

      【解决方案3】:
      import otherfile
      
      print(otherfile.Something.a_dictionary[1])
      

      输出

      2
      

      【讨论】:

      • @MarcusLind 我恢复了你的编辑,因为它显着改变了这个答案中的代码。如果您想以不同的方式做事,请发布您自己的答案。
      • 我以为他想访问另一个文件类中的字典...所以我导入文件并打印字典...这不是问题的目标吗?跨度>
      • 我猜是在这个答案包含错误代码的时候获得了赞成票。
      猜你喜欢
      • 1970-01-01
      • 2021-09-20
      • 2012-12-06
      • 1970-01-01
      • 2014-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-13
      相关资源
      最近更新 更多