실제로 "원시 문자열 "은 없습니다. 원시 문자열 리터럴 이 있는데, 이는 '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
물론 유니 코드 객체는 더 많은 메모리 공간을 필요로합니다.