Skip to main content
 首页 » 编程设计

python之添加\n 到 __repr__

2025年05月04日15lexus

我正在尝试格式化对象的 __repr__,以便它用换行符分隔数组的每个元素。

这是类:

class Data: 
    taskArray = [] 
    def __init__(self,units): 
        self.units = units 
    def __repr__(self): 
        return str("Units: {0} \n{1}".format(self.units, self.taskArray)) 

此时会打印成这样:

Units: 4 
[Element1, Element2, Element3] 

我希望它打印成这样:

Units: 4 
[Element1, 
Element2, 
Element3] 

我将如何完成这个?

请您参考如下方法:

使用str.join :

>>> class Data: 
...     taskArray = ["foo", "bar"] 
...     def __init__(self,units): 
...         self.units = units 
...     def __repr__(self): 
...         return "Units: {0} \n[{1}]".format(self.units, ",\n".join(repr(t) for t in self.taskArray)) 
...  
>>> print(Data(4)) 
Units: 4  
[foo, 
bar]