「\ 20%」を印刷しようとすると、Pythonは初めてです
>>>"\20%"
シェルが '\x10%' を出力するのはなぜですか、つまり、表示されています
'\x10%'
do の場合も join で同じことが起こっています
>>>l = ['test','case']
>>>"\20%".join(l)
それが示している
'test\x10%case'
私はpython 2.7.3を使用しています
「\ 20%」を印刷しようとすると、Pythonは初めてです
>>>"\20%"
シェルが '\x10%' を出力するのはなぜですか、つまり、表示されています
'\x10%'
do の場合も join で同じことが起こっています
>>>l = ['test','case']
>>>"\20%".join(l)
それが示している
'test\x10%case'
私はpython 2.7.3を使用しています
'\20'は 8 進数リテラルで、 と同じchr(2 * 8 + 0) == chr(16)です。
Python シェルがデフォルトで表示するのは、print の出力ではなくrepr、指定された値 (16 進数)の表現です'\x10'。
文字列\20%が必要な場合は、バックスラッシュ ( ) をエスケープするか、生の文字列リテラル( )'\\20%'を使用する必要があります。どちらも次のように表示されます。r'\20%'
>>> r'\20%'
'\\20%'
\20DLEは、 10 進数値が 16 ( 208 進数、 16 進数)の ASCII 文字を参照するエスケープ シーケンスです10。このような文字は、文字列の関数\x10によって 16 進エスケープとして出力されます。repr
リテラルを指定するには\20、円記号を二重にするか ( "\\20")、生の文字列を使用します ( r"\20")。
2枚プリント"\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%
>>>
しばらく前に、私は文字列について同じ疑問を抱いていたので、質問をしました。参考になるかもしれません。