在python中,是否有针对方法__str__
返回多行字符串的PEP的一部分?
亲: PyCharm没有告诉我,谷歌画了一个空白
反对:我可以看到,如果有人连接它,感觉不是pythonic并且我不确定我能记得在我自己的代码中看到一个-bar那么它会导致不优雅的反应
所以我不确定是否只有多行__str__
返回(保持简单)或单独留下__str__
(即返回<class foo>
)并有一个特殊的模块(例如 foo.report()
)。
答案 0 :(得分:6)
它没有任何问题。有很多类可以返回str
的多行值(例如pandas DataFrames和Series)。您可以返回您认为最能代表该对象的任何格式。
答案 1 :(得分:2)
__str__
方法用于返回人类可读的字符串值。如果有多条线用于此(例如具有两个维度的棋盘游戏的字符串表示),则应该这样做。如果要由其他来源使用,您可能希望使用包含适当格式的相应信息的自定义方法,或覆盖__repr__
,这意味着返回明确的字符串表示。