실제로 "원시 문자열 "은 없습니다. 원시 문자열 리터럴 이 있는데, 이는 'r'
여는 따옴표 앞에 정확하게 표시된 문자열 리터럴 입니다.
"원시 문자열 리터럴"은 문자열 리터럴에 대해 약간 다른 구문으로, \
백 슬래시는 "백 슬래시 만"을 의미하는 것으로 간주됩니다 (그렇지 않으면 리터럴을 종료하는 인용 부호 바로 앞에 오는 경우 제외). 줄 바꿈, 탭, 백 스페이스, 용지 넘김 등을 나타내는 "이스케이프 시퀀스" 일반적인 문자열 리터럴에서는 이스케이프 시퀀스의 시작으로 간주되지 않도록 각 백 슬래시를 두 배로 늘려야합니다.
이 구문 변형은 주로 정규 표현식 패턴의 구문이 백 슬래시로 무겁기 때문에 존재하지만 (결국 끝이 아니므로 위의 "except"절은 중요하지 않음) 각 패턴을 두 배로 늘리지 않으면 약간 더 좋아 보입니다. - 그게 다야. 또한 기본 Windows 파일 경로 (다른 플랫폼에서와 같이 일반 슬래시 대신 백 슬래시 포함)를 표현하는 데 어느 정도 인기를 얻었지만, 거의 필요하지 않습니다 (일반 슬래시는 Windows에서도 잘 작동하기 때문에). 위).
r'...'
(파이썬 2 *)에서 바이트 스트링이다 ur'...'
유니 코드 문자열 (역시, 파이썬 2 *)가 있으며, 인용 세 종류의 기타 임의의 문자열도 정확히 동일한 유형을 생성은 (따라서, 예를 들면 r'...'
, r'''...'''
, r"..."
, r"""..."""
모든 바이트 문자열 등).
"돌아 가기 " 가 무슨 뜻인지 잘 모르겠습니다. 원시 문자열 유형 이 없기 때문에 본질적으로 앞뒤로 방향이 없습니다. 이는 정상적인 문자열 객체, 바이트 또는 유니 코드를 그대로 표현하는 대체 구문 일뿐입니다.
그리고 네, 파이썬 2. *에, u'...'
이다 단지 구별 물론 항상의 '...'
- 전자는 유니 코드 문자열, 후자는 바이트 문자열입니다. 리터럴을 표현하는 것은 완전히 직교하는 문제입니다.
예를 들어 (Python 2.6)을 고려하십시오.
>>> sys.getsizeof('ciao')
28
>>> sys.getsizeof(u'ciao')
34
물론 유니 코드 객체는 더 많은 메모리 공간을 필요로합니다.