python - 如何打印出存储在数组而不是对象中的属性?
问题描述
如何打印出存储在数组而不是对象中的章节名称的属性?
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新手,所以我不确定实现这一目标的方法是什么,如果有人能帮助我,我将不胜感激!谢谢
解决方案
您想要覆盖__repr__
而不是__str__
.
推荐阅读
- arrays - 检查数组是否下降到局部最小值,然后在 C 中上升
- r - 我可以省略 r 中数据集的搜索结果吗?
- python - 如何使用python将实际的二进制数保存到文件中
- android - 在 Flutter 中无法接受 android SDK 的 SDK 许可证
- c# - Read delimited record containing delimited field with varying length with FileHelpers in C#?
- c# - C# WPF Select in DataGrid the first row with pressing Enter from a Textbox
- neural-network - 神经网络:如何计算一个单元的误差
- excel - 一次导入 300 个 Excel 文件(Stata)
- java - JLabel 文本未显示,JFrame 在等待时冻结
- reactjs - 第一次调用函数后,应用程序中的状态不会改变。需要两次尝试才能改变