当我尝试打印“\20%”时,我是 python 新手
>>>"\20%"
为什么外壳打印 '\x10%' 即显示
'\x10%'
加入时也会发生同样的情况
>>>l = ['test','case']
>>>"\20%".join(l)
表明
'test\x10%case'
我正在使用 python 2.7.3
当我尝试打印“\20%”时,我是 python 新手
>>>"\20%"
为什么外壳打印 '\x10%' 即显示
'\x10%'
加入时也会发生同样的情况
>>>l = ['test','case']
>>>"\20%".join(l)
表明
'test\x10%case'
我正在使用 python 2.7.3
'\20'
是八进制文字,与chr(2 * 8 + 0) == chr(16)
.
Python shell 默认显示的不是print 的输出,而是repr
给定值的 esentation,即十六进制的'\x10'
.
如果您想要字符串\20%
,则必须转义反斜杠 ( '\\20%'
) 或使用原始字符串文字( r'\20%'
)。两者都将显示为
>>> r'\20%'
'\\20%'
\20
是一个转义序列,它引用DLE
十进制值为 16(20
八进制,10
十六进制)的 ASCII 字符。这样的字符被字符串函数打印为\x10
十六进制转义符repr
。
要指定文字\20
,请加倍反斜杠 ( "\\20"
) 或使用原始字符串 ( r"\20"
)。
二印"\20%"
如果直接打印会怎样:
>>> print '\20%'
% # some symbol not correctly display on this page
并使用r
>>> print r'\20%'
\20%
>>> r'\20%' # what r do.
'\\20%'
>>> print '\\20%'
\20%
>>>
前段时间我对字符串有同样的疑问,我问了一个问题,你可能会发现有帮助