PEP和多线`__str__`返回

时间:2016-03-25 21:06:22

标签: python pep8

在python中,是否有针对方法__str__返回多行字符串的PEP的一部分?

亲: PyCharm没有告诉我,谷歌画了一个空白

反对:我可以看到,如果有人连接它,感觉不是pythonic并且我不确定我能记得在我自己的代码中看到一个-bar那么它会导致不优雅的反应

所以我不确定是否只有多行__str__返回(保持简单)或单独留下__str__返回<class foo>)并有一个特殊的模块(例如 foo.report())。

2 个答案:

答案 0 :(得分:6)

它没有任何问题。有很多类可以返回str的多行值(例如pandas DataFrames和Series)。您可以返回您认为最能代表该对象的任何格式。

答案 1 :(得分:2)

__str__方法用于返回人类可读的字符串值。如果有多条线用于此(例如具有两个维度的棋盘游戏的字符串表示),则应该这样做。如果要由其他来源使用,您可能希望使用包含适当格式的相应信息的自定义方法,或覆盖__repr__,这意味着返回明确的字符串表示。