Python中的类,字符串错误

时间:2015-01-16 18:45:52

标签: python string class python-2.7 object

我是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是这个列表的长度 书是一个不同的类。 我希望在列表中获得一组书籍 - 列表中的一些书籍以及上一课程中给出的书籍详细信息。 问题是编写最后一部分的技巧。

1 个答案:

答案 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
>>> 

您可以认为某些点returnbreak类似。因此,如果在函数的某处处理了返回部分,那么您的函数就会停止读取其他代码。