我正在阅读“以艰难的方式学习Python”(作者Zed Shaw)并且它说%r
用于“原始表示和调试”。
我很抱歉这样一个不知情的问题,但我不知道这是什么意思。
答案 0 :(得分:0)
所以你知道%s
用于大多数字符串,只是在格式化的变量上调用str()
。
repr()
用于%r
并将返回"原始字符串",这在字符串变量上最容易看到。
>>> print("%r vs. %s" % ('42','42'))
'42' vs. 42
Python printf String formatting
'r'
- String(使用repr()
转换任何Python对象)'s'
- String(使用str()
转换任何Python对象)。
当它说它对调试"有用时,想象你在字符串中有前导/尾随空格......" raw"格式会更清楚。
print("%r vs. %s" % (' hello',' hello'))
' hello' vs. hello