【发布时间】:2014-10-06 08:44:39
【问题描述】:
我需要使用 repr 方法返回我在类中生成的字典,并且我希望它在单独的行中返回。
有什么办法可以做到吗?
def __repr__:
return str(self.maze)
预期:
{
(0, 0):[(0, 1), (1, 0)]
(0, 1):[(0, 0), (1, 1)]
(1, 0):[(0, 0), (1, 1)]
(1, 1):[(0, 1), (1, 0)]
}
我得到了什么:
{(0, 1): [(0, 0), (1, 1)], (1, 0): [(0, 0), (1, 1)], (0, 0): [(0, 1), (1, 0)], (1, 1): [(0, 1), (1, 0)]}
由于我不能使用“pprint”,所以我不知道是否还有其他方法可以做到。
【问题讨论】:
-
为什么不能完全使用
pprint? -
当我在 repr 中使用 pprint 时出现语法错误,并且 print 不会让我在花括号后换行
-
我敢打赌您会遇到语法错误,因为您在没有参数的情况下输入了
def __repr__:而不是def __repr__(self):。 -
@abarent 实际上我确实有参数是
def __repr__(self) -
多行代表有点粗鲁,当它们嵌入更大的结构时效果不佳。也许为这个方法使用不同的名称?
标签: python dictionary repr