所以我有一個類,名爲Vertex
。打印用戶定義類的對象列表
class Vertex:
'''
This class is the vertex class. It represents a vertex.
'''
def __init__(self, label):
self.label = label
self.neighbours = []
def __str__(self):
return("Vertex "+str(self.label)+":"+str(self.neighbours))
我想打印這個類的對象的列表,像這樣:
x = [Vertex(1), Vertex(2)]
print x
,但它讓我看到這樣的輸出:
[<__main__.Vertex instance at 0xb76ed84c>, <__main__.Vertex instance at 0xb76ed86c>]
其實,我想打印每個對象的值爲Vertex.label
。 有什麼辦法可以做到嗎?
我明白了,所以解釋器遞歸調用__repr __()列表中的任何對象..是嗎? – czardoz
不,解釋器正在調用list .__ str __()(或repr,它依賴,但是這是同樣的事情)和list .__ str__返回一個字符串,它通過調用列表包含的所有對象的repr來組成 – Ant