我是Python的业余程序员并完成了一项任务。我在编写课程时遇到各种字符串错误一直存在问题。这是有问题的部分:
类的开头,名为library的写得很好,除了这个:
def __str__(self):
return self.booklist()
print 'There are several books inside this list: ', self.howMany
i = 1
for book in self.booklist:
print i
print self.booklist[i-1]
i += 1
self.booklist是一个列表(它已正确完成) self.howMany是这个列表的长度 书是一个不同的类。 我希望在列表中获得一组书籍 - 列表中的一些书籍以及上一课程中给出的书籍详细信息。 问题是编写最后一部分的技巧。
答案 0 :(得分:2)
return self.booklist()
部分之后,您的所有代码都不会被处理。你用return self.booklist()
开始你的功能,实际上你的功能等于;
def __str__(self):
return self.booklist()
而是返回它,定义一个带有列表的变量。您应该存储函数的return
结尾或if-elif
语句。一个例子;
def smt():
return "Hello"
for x in range(5):
print (x)
print (smt())
输出;
>>>
Hello
>>>
如你所见,只有"你好"打印。未处理return
之后的代码。但是,如果你改变你的功能,像;
def smt():
a="Hello"
for x in range(5):
print (x)
return a
输出是;
>>>
0
1
2
3
4
Hello
>>>
您可以认为某些点return
与break
类似。因此,如果在函数的某处处理了返回部分,那么您的函数就会停止读取其他代码。