Python 打印混乱

Python 打印混乱,python,python-2.7,Python,Python 2.7,当我尝试打印“\20%”时,我是python新手 为什么外壳打印“\x10%”也就是说,它正在显示 '\x10%' 同样的情况也发生在join中 >>>l = ['test','case'] >>>"\20%".join(l) 它表明 'test\x10%case' 我使用的是python 2.7.3'\20'是一个八进制文字,与chr(2*8+0)==chr(16)相同 pythonshell默认显示的不是打印输出,而是给定值的repr表示,即十六进制

当我尝试打印“\20%”时,我是python新手

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

'\x10%'
同样的情况也发生在join中

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

'test\x10%case'

我使用的是python 2.7.3

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

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

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

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

\20
是一个转义序列,它引用十进制值为16的
DLE
ASCII字符(
20
八进制,
10
十六进制)。这种字符通过字符串的
repr
函数打印为
\x10
十六进制转义

要指定文字
\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%
>>> 

不久前,我对字符串也有同样的疑问,我问,您可能会发现代码应该是什么,以便在我创建字符串时将字符串连接起来expected@perpetual我不确定您想要什么,但很可能是
“\\20%”。join(l)
我希望输出为“test\20%case”,但当我执行“\\20%”时。join(l)它显示“test\\20%case”@performant:您在字符串的
repr
中看到了额外的反斜杠,但如果您
打印它或将它写入文件,您将只看到一个。@performal-Welcom-performant…:)
>>> print r'\20%'
\20%
>>> r'\20%'         # what r do.
'\\20%'
>>> print '\\20%'     
\20%
>>>