Я пытаюсь передать список экземпляров объектов в классе другого объекта. Когда я делаю это напрямую - все работает так, как должно. Когда они проходят список, он завернут в кортеж, он не работает. Сomparing выходы:Передача списка экземпляров объекта методу из другого класса
для отчет:
Запись: Нет, None, None
Запись: E001, IPTV и телематики, на 20 ноября: все печально
Запись: E002, DPI, None
для доклад1:
None
(< Основной объект .Record на 0x7f7b88d65908>, < главный объект .Record в 0x7f7b88d65940>, < Основной .Record объекта в 0x7f7b88d65978>)
Отсутствует
Как это возможно? И как это исправить?
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())