python - 将 \n 添加到 __repr__
问题描述
我正在尝试格式化__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]
推荐阅读
- firebase - collection$.valueChanges() 是只返回更改还是整个集合?
- excel - VBA GoalSeek 传递的变量
- c - 尝试将中缀表达式转换为后缀表达式时,运算符未插入 C 中的堆栈
- python - 从 pd.MultiIndex 到多个 DataFrames
- visual-studio - VS 2019 - SSAS 表格模型浏览器丢失或灰显
- python - Python电报机器人2个或更多参数
- excel - VBA Linest 函数插入一个值
- java - spring boot - 我可以按环境读取 src/main/resources 中的 json 文件吗
- android - 如何使状态栏变白或隐藏?
- ruby-on-rails - 在 Rails 中的控制器中的操作之间共享变量