我正在学习《艰苦学习Python》。这是exercise9的常见学生问题中的内容
为什么当我使用 %r 时\n 换行符不起作用?
这就是 %r 格式的工作原理,它按照您编写的方式(或接近的方式)打印它。这是用于调试的“原始”格式
然后我尝试了一下,但它对我有效!
我的代码:
# test %r with \n
print "test\n%r\n%r" % ("with", "works?")
# change a way to test it
print "%r\n%r" % ("with", "works?")
输出:
test
'with'
'works?'
'with'
'works?'
这让我很困惑,我的测试或书本有问题吗? 你能给我举一些例子吗?非常感谢。
最佳答案
这不是您看到 %r
效果的地方。将转义字符(例如换行符 ('\n'
))放入将替换 %r
的字符串中:
>>> print "%r\n%r" % ("with\n", "works?")
'with\n'
'works?'
现在使用 %s
(它替换为 str()
表示形式而不是 repr()
表示形式)来查看差异:
>>> print "%s\n%s" % ("with\n", "works?")
with
works?
关于python - Python 中格式化程序 %r 和\n 发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34634532/