我是从perl到python的,这个问题对于杂乱无章的无关示例来说似乎是不可理解的
我正在尝试为可变长度的对象列表创建一个快速查找索引。对象可以按名称或编号返回。方法byname和bynum在“return”处抛出语法错误
我做错什么了
提前谢谢
class BookSumIndex():
bookptr = 0
BookSum = []; # object container
ByName = {} # named referent to objects
ByNum = {} # numerical referent to objects
def addbook(self,thisbook,bookname,booknum):
self.BookSum.insert(self.bookptr,BookSumObject())
namepair = {bookname:self.bookptr}
numpair = {booknum:self.bookptr}
self.ByName.update(namepair)
self.ByNum.update(numpair)
self.bookptr += 1
def byname(self,bookname):
bnam = self.ByName.get(bookname)
if type(bnam) != "NoneType":
thisbook = self.BookSum.get[int(bnam)]
return thisbook
def bynum(self,booknum):
bnum = self.ByNum.booknum
if type(bnum) != "NoneType":
thisbook = self.BookSum[self.ByNum.get[int(bnum)]
return thisbook
你在拜纳姆方法中缺少了这本书的右括号
应该是:
我还建议您使用以下比较:
而不是:
我不知道为什么会出现语法错误,但是由于一个不返回值的方法会给变量分配一个None,所以您也可以返回一个None来查看IDE是否不再标记这些方法。例如:
也只是为了以防万一检查这本书的缩进和返回像我上面
相关问题 更多 >
编程相关推荐