【问题标题】:How to make dictionary element an object in python?如何使字典元素成为python中的对象?
【发布时间】:2015-08-16 20:03:21
【问题描述】:

如何让字典元素成为 Python 中的对象?

我上课了……

class Qs:
    def __init__(self,list1,id,quest="",mark=1):
        self.__list1=list1
        self.__id=id
        self.__quest=quest
        self.__mark=mark
        self.__list1.update({self.__id:{self.__quest:self.__mark}})

如何将对象存储在字典中,以便像这样调用此类中的函数?

dictionary[1].print()

【问题讨论】:

  • 我刚做了一个类:class Qs: def __init__(self,list1,id,quest="",mark=1): self.__list1=list1 self.__id=id self.__quest= quest self.__mark=mark self.__list1.update({self.__id:{self.__quest:self.__mark}}) 然后我尝试制作字典并在那里分配对象
  • @Shathaaah 你的问题并不清楚你哪里出错了,而且评论没有保留空格,所以它同样没用。你能用更多代码更新你的问题吗? Python 中的一切都是一个对象,所以这应该工作。其他地方出了点问题。

标签: python class dictionary


【解决方案1】:

您可能想要的是另一个在其中包含字典的类:

class QuestionCollection:
    def __init__(self):
        self.listofquestions = dict()
    def print(self,question_number):
        print(dictionary[question_number])

那么你可以这样做:

classobject = MyClass()
classobject.listofquestions[1] = Qs(...)
classobject.print(1)

或者,

classobject = MyClass()
print(classobject.dictionary[1])

然后,您可以扩展该类以包含对整个字典进行操作的其他函数。

【讨论】:

  • 在这种情况下,我不知道您想在哪里/如何使用字典。字典是由 Qs 对象组成的吗?
  • 是的,你可以写出没有答案的问题。我想用它来存储数据。
  • 您需要更明确地提出您的问题 - 您有一个问题类(我建议将该类称为比 Qs 更具描述性的东西),然后您有一个问题字典,然后您想要添加自定义函数来对该字典进行操作。
  • 是的,类似的
猜你喜欢
  • 1970-01-01
  • 2011-10-06
  • 1970-01-01
  • 2010-10-02
  • 2020-11-03
  • 2021-08-12
  • 1970-01-01
  • 2020-09-21
  • 1970-01-01
相关资源
最近更新 更多