当我想要打印我的对象时,我只得到:
>>> LIB.get_book("Synantrop")
<__main__.Book object at 0x102321b50>
我需要做什么才能将其作为字符串取而代之? 我试过了
def __repr__( self ):
return "Book(%d,%r)" % (self.title,self.year,self.author)
和
def __str__( self ):
return "%2d%s" % (self.title,self.year,self.author)
但它不起作用! 我真的很感激一些帮助。
答案 0 :(得分:3)
您的__str__
和__repr__
应该有效,并提供:
Book
); 答案 1 :(得分:1)
print(LIB.get_book("Synantrop"))
应该有效。只有在传递要打印的对象时才会调用 str 功能。如果你不这样做,它就会返回get_book返回的任何值