2013-11-23 2 views
0

В настоящее время у меня есть класс, который превращает мой список списков в список объектов, где каждый объект имеет определенное количество материала из конструктора. Допустим, у них есть имена и некоторые случайные числа.Печать всех объектов из класса

То, что я хотел бы сделать, это распечатать все эти объекты одновременно, где каждый объект является одной строкой. Как бы я идти об этом, я попытался сделать функцию Str, но она по-прежнему возвращает «»

Хорошо, у меня есть класс, который имеет 10 объектов, они имеют атрибуты self.planet, self.distance, self.distsquared, self.radius, self.diamater, где distance/distsquared/radius/diamater - все целые числа, и у меня есть функция, которая должна печатать все планеты после их расстояния, с самым дальним расстоянием. Но когда я пытаюсь сделать функцию return «%» (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 - целые числа, и у меня есть функция, которая должна печатать все планеты после их расстояния, с самым дальним расстоянием. Но когда я пытаюсь сделать функцию return ""% (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

Или: 'return 'Attr1: {0.attr1} Attr2: {0.attr2}'. Format (self)' или аналогичный, чтобы максимально использовать форматирование –

+0

Oh I вот так, спасибо – jonrsharpe

Смежные вопросы