【发布时间】:2012-02-18 23:06:11
【问题描述】:
我想创建一个对象来保存其他对象,并在它保存的每个对象上调用一个方法。最终目标是为程序生成脚本。每个对象都包含一个可以用printCommand() 打印的命令,最终打印到一个文件中。我原来的解决方案是这样的:
a = ObjectList()
a.appendObject(Object())
b = ObjectList()
b.appendObject(Object())
listOfObjects = [a, b]
for Object in listOfObjects:
Object.printCommand()
我创建一个列表变量,将对象添加到 thw 列表,然后循环它发出命令。虽然这可行,但我主要是为了自学编程,所以我想知道是否有比编写代码来将项目追加、弹出等更优雅的解决方案。对象中的列表。由于list 已经包含这些功能,我认为正确的做法是扩展list:
class Object:
def __init__(self):
self.Command = "Script Command"
def printCommand(self):
print(self.Command)
class ObjectList(list):
def printCommand(self):
for Object in self.LISTCONTENTS:
Object.printCommand()
但是,我不知道如何告诉它迭代自己的内容。 self.LISTCONTENTS 属于什么? list 对象在哪里存储其内容,如何从方法中访问它们?
【问题讨论】:
标签: python oop list python-3.x