Можно ли вернуть строковое представление (используя __str__) всех объектов в списке объектов из разных классов собственной __str__ функции?Возвращаемое индивидуальное строковое представление всех объектов в списке объектов
Скажем, у меня есть класс, содержащий все методы, выполняемые на объектах Bar. Назовите этот класс Foo. Тогда:
class Foo:
def __init__(self):
self.bars = [] # contains Bar objects
def __str__(self):
return "This is the Foo object"
class Bar:
def __init__(self, arg1):
self.arg1 = arg1
def __str__(self):
return "This is Bar object: " + arg1
def main():
foo = Foo()
print(str(foo))
Я хочу напечатать строковое представление всех объектов в self.bars КОГДА я называю основным(), так как создание экземпляра объекта Bar не даст мне доступ к строке представление всех объектов в self.bars.
Чтобы уточнить, я не задаю тот же вопрос, что и в сообщении this, относящемся к необходимости __repr__. Вместо этого я хочу, чтобы каждое строковое представление каждого объекта было индивидуально, как и для цикла for.
Есть ли способ сделать это разумно или необоснованно?
Вы имеете в виду что-то вроде 'return ','. Join (str (b) for b in self.bars)'? – mgilson
Кроме того, если я задаю тот же вопрос, что и ссылка, которую я разместил, тогда не стесняйтесь меня исправлять. Если это дубликат в некотором смысле этого слова, то это просто из-за моего непонимания предмета. – kmartmvp