无法解包不可iterable int obj

2024-05-08 03:54:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要对类中的所有7个参数使用__getitem__,但是__getitem__不允许我这样做,所以我尝试使用tuple,但是我一直得到这个错误:

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)

Tags: ofkeynameselfnumber参数dateorder
1条回答
网友
1楼 · 发布于 2024-05-08 03:54:58

若要生成返回每个成员变量内容的get item,并给定与该成员名称相同的键,则可以让类将信息存储在dict中,并从该dict返回get_item。例如:

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']

相关问题 更多 >