Python 无法解压缩不可编辑的int对象

Python 无法解压缩不可编辑的int对象,python,spyder,Python,Spyder,我需要对类中的所有7个参数使用\uuuuuuu getitem\uuuuuu,但是\uuuuuuu getitem\uuuuuu不允许,所以我尝试使用元组,但我一直遇到以下错误: TypeError: cannot unpack non-iterable int object 我该怎么办 def __getitem__(self, key): name,author,category,Isbn_number,printing_house,date,number_of_order = k

我需要对类中的所有7个参数使用
\uuuuuuu getitem\uuuuuu
,但是
\uuuuuuu getitem\uuuuuu
不允许,所以我尝试使用
元组,但我一直遇到以下错误:

TypeError: cannot unpack non-iterable int object
我该怎么办

def __getitem__(self, key):
    name,author,category,Isbn_number,printing_house,date,number_of_order = key
    return (self.name,self.author,self.category,self.Isbn_number,self.printing_house,self.date,self.number_of_order)

要创建一个getitem,返回每个成员变量的内容,并给定一个与该成员名称相同的键,您可以让类将信息存储在dict中,并让您的get_项从该dict返回。例如:

def __init__(self, name = 'Jud', author='Jill', category='YA'):
    self.elements = {'name':name,'author':author,'category':category}

def __getitem__(self, key):
    return self.elements[key]
然后,通过该类的实例,您应该能够执行以下操作:

aBook['name']
aBook['author']

看,我不明白,意思是,我理解(有点)getitem是如何工作的,但我需要使用getitem方法来获取关键字中的7个参数,因为我想为我的对象使用排序函数,所以我需要我的对象作为关键字返回我建议只创建自己的自定义
get
方法,无需向该方法传递任何参数,甚至无需遵循python
\uuuu getitem\uuuuu
约定。但是,我不知道如何使用get方法,但我尝试过,然后发现我的参数都是str,因此dict.get无法接收它们