我是新來的蟒蛇當我嘗試打印「\ 20%」,也就是打印混亂
>>>"\20%"
爲什麼是外殼印花「\ X10%」也就是說,它顯示
'\x10%'
同樣與發生的事情也加入時做
>>>l = ['test','case']
>>>"\20%".join(l)
它顯示
'test\x10%case'
我使用Python 2.7.3
我是新來的蟒蛇當我嘗試打印「\ 20%」,也就是打印混亂
>>>"\20%"
爲什麼是外殼印花「\ X10%」也就是說,它顯示
'\x10%'
同樣與發生的事情也加入時做
>>>l = ['test','case']
>>>"\20%".join(l)
它顯示
'test\x10%case'
我使用Python 2.7.3
'\20'
是一個八進制,和同爲chr(2 * 8 + 0) == chr(16)
。
什麼Python的外殼默認顯示是不打印的輸出,但repr
esentation給定值,這是十六進制'\x10'
的。
如果你希望字符串\20%
,你必須要麼逃避backaslash('\\20%'
)或使用raw string literal(r'\20%'
)。兩者都將被顯示爲
>>> r'\20%'
'\\20%'
\20
是指DLE
ASCII字符,其十進制值是16(八進制20
,10
十六進制)的轉義序列。這樣的字符被打印爲\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%
>>>
一段時間後,我有大約串同樣的懷疑,我問a question,你可能會發現有幫助
謝謝你的問題鏈接真的有幫助 – Pradyumna
@perpetual Welcom永恆...... :) –
應該怎樣代碼是這樣,字符串按照我的預期加入 – Pradyumna
@perpetual我不確定你想要什麼,但最有可能是'''\\ 20%'。join(l)' – phihag
我希望輸出是'測試\ 20%case',但是當我做「\\ 20%」時,join(l)顯示'test \\ 20%case' – Pradyumna