python - 当包含换行符时,如何在 python 中定义 __str__ ?

标签 python string python-3.x newline

我正在尝试为迷宫对象定义 str() 并让它打印出如下所示的内容:

#######
#J..P.#
#.###.#
#..@#.#
#@#.@.#
#######

但是,当我构建要返回的字符串时,它最终会打印为:

'#######\n#J..P.#\n#.###.#\n#..@#.#\n#@#.@.#\n#######\n'

我所做的就是遍历列表列表(每一行都是一个列表,整个迷宫是这些行列表的列表)并在每行末尾连接一个“\n”。在返回结果字符串之前,我还应该对它执行其他操作,以便在调用 print() 或 str() 时迷宫的字符串表示形式将返回第一个所需的表示形式吗?

最佳答案

您是使用 print 语句进行打印,还是只是让 Python 打印该值?例如:

>>> a = "This is a\nmultiline string"
>>> a
'This is a\nmultiline string'
>>> print a
This is a
multiline string

这只是正常的 Python 行为。

关于python - 当包含换行符时,如何在 python 中定义 __str__ ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16181189/

相关文章:

javascript - 如果 key 不存在,则使用默认值进行插值

django - 与 factory boy 和 pytest 一起使用的自定义 faker 提供程序

python - 如何优化python中矩阵的数学运算

python:一个有很多方法的类需要更长的时间来初始化吗?

python - 正则表达式的不平衡括号错误

python - Python 中的 CSV 文件删除括号、引号和 u

Python3命令使mac崩溃

python - Pandas 平均轴参数

c++ - strstr() 函数重叠字符串搜索

c++ - 这五种不同的 cString 声明方式是怎么回事?