格式化 class 实例 return(列表)

Formatting class instance return (list)

打印列表实例时,我在格式化时遇到困难。 如果我定义了一个 class 并创建了一个 class 实例,如下所示:

class Building():
    def __init__(self):
        self.rooms = []

    def add_room(self, rm_num: str, occupied: str, type: str, size: str):
        self.rooms.append([rm_num, occupied, type, size])

>>>b = Building()
>>>b.add_room('302', 'Y', 'single', 'small')
>>>b.add_room('105', 'Y', 'single', 'large')

现在的目标是打印实例时的输出如下所示: (列表实例中的每个项目在单独的行上**)

>>>print(b)
302, Y, single, small
105, Y, single, large

如何通过 def __repr__(self) 进行格式化?

非常感谢!

See this tutorial for repr. Also, look into list comprehension 在 python.

def __repr__(self):
    return "\n".join(', '.join(x) for x in self.rooms)