格式化 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)
打印列表实例时,我在格式化时遇到困难。 如果我定义了一个 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)