class Note:
note_number = 1
def __init__(self, title="", memo="", id="", tag=""):
self.memo = memo
self.id = id
self.number= Note.note_number
Note.note_number += 1
def __str__(self):
return self.memo
class NoteBook:
def __init__(self):
self.note_book = []
def add_note(self, *args):
self.note_book.extend(args)
def print(self):
for note in self.note_book:
print(note)
n1 = Note(memo = "I love chemistry")
n2 = Note("I hate chemistry")
n3 = Note("Inorganic")
notebook1 = NoteBook()
notebook1.add_note(n1, n2, n3)
notebook1.print()
我创建了 3 个笔记对象并使用 add_note() 函数将它们添加到笔记本对象中,笔记本对象是一个列表。如果我用 print(notebook1) 打印笔记本,它会在列表中正确显示 3 个项目。当我尝试使用 print() 函数时,它应该遍历列表并打印每个音符的 str 我只得到第一个音符“我喜欢化学”而不是其他 2注意为什么会这样?
I love chemistry
请您参考如下方法:
如果你想让它打印备忘录——你应该用备忘录创建笔记:
改变:
n1 = Note(memo = "I love chemistry")
n2 = Note("I hate chemistry")
n3 = Note("Inorganic")
到:
n1 = Note(memo = "I love chemistry")
n2 = Note(memo = "I hate chemistry")
n3 = Note(memo = "Inorganic")
