print 문을 사용할 때 특수 문자 표시


91

print 문을 사용할 때 이스케이프 문자를 표시하고 싶습니다. 예

a = "Hello\tWorld\nHello World"
print a
Hello   World
Hello World

"Hello \ tWorld \ nHello \ sWorld"를 표시하고 싶습니다.

답변:


167

repr 사용 :

a = "Hello\tWorld\nHello World"
print(repr(a))
# 'Hello\tWorld\nHello World'

\s공간을 얻지 못합니다 . 오타 였으면 좋겠는데 ...?

그러나 정말로 \s공백을 원한다면 다음 과 같이 할 수 있습니다.

print(repr(a).replace(' ',r'\s'))

1
파이썬 3는 다음과 같습니다print(repr(a))
07lodgeT

16

그저 그런 식으로 문자열을 인쇄하고 싶습니까, 아니면 문자열의 내부 표현이되기를 원합니까? 후자의 경우 : 접두사를 붙여 원시 문자열 로 만듭니다 .rr"Hello\tWorld\nHello World"

>>> a = r"Hello\tWorld\nHello World"
>>> a # in the interpreter, this calls repr()
'Hello\\tWorld\\nHello World'
>>> print a
Hello\tWorld\nHello World

또한 \s정규식을 제외하고는 이스케이프 문자가 아니며 여전히 사용하는 것과는 훨씬 다른 의미를 갖습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.