我需要在类中的所有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)
答案 0 :(得分:0)
要创建一个 getitem ,以给定与该成员名称相同的键返回每个成员变量的内容,您可以让该类将信息存储在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']