PEP 和多行 `__str__` return

PEP and multiline `__str__` return

在 python 中,是否有 PEP 部分针对 __str__ return 处理多行字符串的方法?

亲: PyCharm不吐槽Google画个空白

Contra: 我可以看到如果有人将它连接起来会导致不雅的响应,感觉不-pythonic 我不确定我是否记得看到一个—我自己的代码中的栏

所以我不确定是只使用多行 __str__ return(保持简单)还是单独使用 __str__ returns <class foo>) 并且有一个特殊的模块 (e.g. foo.report()).

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

__str__ 方法旨在 return 一个人类可读的字符串值。如果多行有任何用处(例如具有二维的棋盘游戏的字符串表示),您应该这样做。如果它打算被另一个来源使用,您可能希望使用包含适当格式的适当信息的自定义方法,或者覆盖 __repr__,这意味着 return 一个明确的字符串表示.