打印班级中的所有对象

时间:2013-11-23 15:06:31

标签: python class printing

我目前有一个类将列表列表转换为对象列表,其中每个对象都有一定数量的构造函数。让我们说他们有名字和一些随机数字。

我想要做的是同时打印所有这些对象,其中每个对象是一行。我该怎么做呢,我尝试制作一个 Str 函数,但它仍然会返回“”

好的,我有一个有10个对象的类,它们有self.planet,self.distance,self.distsquared,self.radius,self.diamater属性,其中distance / distsquared / radius / diamater都是整数,我有一个功能,应该在距离之后打印所有行星,最远距离最远。但是当我尝试使函数返回“”%(self.planet,self.distance,self.distsquared,self.radius self.diameter)时,它仍然只打印我希望每个对象都要打印 提前谢谢!

1 个答案:

答案 0 :(得分:2)

对于对象列表,您可以使用以下方式巧妙地打印它们:

print("\n".join(str(x) for x in object_list))

该类应具有将每个对象变为字符串的功能,如下所示:

def __str__(self):
    return "Attr1: {0.attr1}, Attr2: {0.attr2}, ...".format(self)