如何打印存储在数组中的属性而不是对象?

如何打印存储在数组中而不是其对象中的 ChapterName 的属性?


class Book:

    def __init__(self):

        self._chapters = []


    def addchapter(self, chapter):

        self._chapters.append(chapter)


    def getchapters(self):

        #How do I print out ["First", "Second", "Third"] instead?

        print(self._chapters) #<- prints out [<__main__.Chapter object at 0x10b849c40>, <__main__.Chapter object at 0x10b8901f0>, <__main__.Chapter object at 0x10b890310>]



class Chapter:

    def __init__(self, chaptername):

        self._chaptername = chaptername


    def __str__(self):

        return f"{self._chaptername}"



b = Book()

b.addchapter( Chapter("First") )

b.addchapter( Chapter("Second") )

b.addchapter( Chapter("Third") )

b.getchapters() 

我是 python 新手,所以我不确定实现此目标的方法是什么,如果有人可以帮助我,我将非常感激!谢谢


冉冉说
浏览 50回答 1
1回答

慕神8447489

您想要覆盖__repr__而不是__str__.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python