0
我試圖傳遞另一個對象的類中的對象實例的列表。當我直接這樣做時 - 一切正常。當他們通過列表包裝在一個元組中時,它不起作用。 Сomparing輸出:將對象的實例列表從另一個類傳遞給該方法
爲報告:
記錄:無,無,無
實錄:E001,IPTV和遠程信息處理,在11月20日:一切都是傷心
記錄:E002,DPI,無
對於報告1:
無
(在0x7f7b88d65908 < 主 .Record對象>,在0x7f7b88d65940 < 主 .Record對象>,< 主在0x7f7b88d65978 .Record對象>)
無
這怎麼可能?以及如何解決它?
class Ticket:
tickets = []
def __init__(self, id=None, group=None):
self.id = id
self.group = group
self.tickets.append(self)
class Record(Ticket):
records = []
def __init__(self, ticket=None, comment=None):
self.ticket = ticket
self.comment = comment
self.records.append(self)
def __str__(self):
if self.ticket != None:
return 'Record: ' + '{0}, {1}, {2}'.format(self.ticket.id, self.ticket.group, self.comment)
class Report:
def __init__(self, *args):
self.records = list(args)
def show_all(self):
for record in self.records:
print(record)
if __name__ == '__main__':
t1 = Ticket('E001', 'IPTV and telematics')
t2 = Ticket('E002', 'DPI')
rec1 = Record(Ticket())
rec2 = Record(t1, 'at Nov 20: everything is sad')
rec3 = Record(t2)
report = Report(rec1,rec2,rec3)
print(report.show_all())
report1 = Report(tuple(rec1.records))
print(report1.show_all())