2013-11-23 128 views
0

我目前有一個類將列表中的列表轉換爲對象列表,其中每個對象都有一定數量的構造函數。讓我們說他們有名字和一些隨機數字。打印類中的所有對象

我想要做的是同時打印所有這些對象,其中每個對象都是一行。我怎麼會這樣做,我試着做一個STR函數,但它仍然返回「」

好吧,我有一個類有10個對象,這些對象具有屬性self.planet,self.distance, self.diansquared,self.radius,self.diamater其中distance/distsquared/radius/diamater都是整數,我有一個函數,應該打印所有行星的距離,最遠的距離最遠。但是當我試圖做一個函數返回「」%(self.planet,self.distance,self.distsquared,self.radius self.diameter)它仍然只打印我想要打印每個對象 在此先感謝!

+2

添加更多細節,也許?包括你的代碼,給出期望的輸出/電流輸出的例子? – selllikesybok

+0

好吧,我有一個有10個對象的類,它們具有屬性self.planet,self.distance,self.distsquared,self.radius,self.diamater,其中distance/distsquared/radius/diamater都是整數,我有一個功能,應該打印所有行星的距離,最遠的距離最高。但是當我試圖做一個函數 返回「」%(self.planet,self.distance,self.distsquared,self。半徑self.diameter)它仍然只打印 我想要打印每個對象 – user2982959

+2

在您的答案(編輯它)不在評論中,是嗎?易於閱讀,爲其他人回覆等。 – selllikesybok

回答

2

對於對象的列表,你可以將它們打印整齊的使用:

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

類應具備的功能,使每個對象爲一個字符串,如下所示:

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

或者:'返回'Attr1:{0.attr1} Attr2:{0.attr2}'.format(self)'或類似的格式化最多 –

+0

哦,我像那樣,謝謝 – jonrsharpe