印刷混乱

2024-04-20 11:42:50 发布

您现在位置:Python中文网/ 问答频道 /正文

当我尝试打印“\20%”即

>>>"\20%"

为什么外壳打印'\x10%'也就是说,它正在显示

^{pr2}$

join也是如此

>>>l = ['test','case']
>>>"\20%".join(l)

它显示了

'test\x10%case'

我使用的是python2.7.3


Tags: test外壳casejoinpr2
3条回答

'\20'是一个八进制文本,与chr(2 * 8 + 0) == chr(16)相同。在

pythonshell默认显示的是不是print的输出,而是给定值的repr表示,即十六进制'\x10'。在

如果需要字符串\20%,则必须转义反斜杠('\\20%')或使用raw string literalr'\20%')。两者都将显示为

>>> r'\20%'
'\\20%'

\20是一个转义序列,它引用DLEASCII字符,其十进制值为16(20为八进制,10为十六进制)。这样的字符由字符串的repr函数打印为\x10十六进制转义符。在

要指定文本\20,请将反斜杠("\\20")加倍或使用原始字符串(r"\20")。在

两次打印"\20%"

如果直接打印:

>>> print '\20%'
%                       # some symbol not correctly display on this page

并使用r

^{pr2}$

以前我对字符串也有同样的疑问,我问a question,你可能会发现有用的

相关问题 更多 >