Vì vậy, tôi có một lớp học, được gọi là Vertex
.In danh sách đối tượng của người dùng đã xác định lớp
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))
Tôi muốn in một danh sách các đối tượng của lớp này, như thế này:
x = [Vertex(1), Vertex(2)]
print x
nhưng nó cho thấy tôi ra như thế này:
[<__main__.Vertex instance at 0xb76ed84c>, <__main__.Vertex instance at 0xb76ed86c>]
Thực ra, tôi muốn in giá trị của Vertex.label
cho mỗi đối tượng. Có cách nào để làm điều đó không?
Tôi thấy, do đó, thông dịch viên được gọi đệ quy __repr __() trên bất kỳ đối tượng trong danh sách .. là đúng? – czardoz
không, thông dịch viên đang gọi danh sách .__ str __() (hoặc repr, nó phụ thuộc, nhưng đó là điều tương tự) và danh sách .__ str__ trả về một chuỗi bao gồm bằng cách gọi repr của tất cả các đối tượng mà danh sách chứa – Ant