문자열 리터럴 앞에 "r"이 붙는 것은 무엇을 의미합니까?
나는 처음에 그것이 여러 줄에 걸쳐 정규 표현을 만드는 데 사용되는 것을 방법 인수로 보았습니다.re.compile()
그래서 나는 생각했습니다.r
RegEx의 약자입니다.
예:
regex = re.compile(
r'^[A-Z]'
r'[A-Z0-9-]'
r'[A-Z]$', re.IGNORECASE
)
그래서 어쩌죠?r
이 경우에 비열합니까?왜 우리가 그것이 필요한 거지?
그r
문자열이 원시 문자열로 처리됨을 의미하며, 이는 모든 이스케이프 코드가 무시됨을 의미합니다.
예:
'\n'
새 줄 문자로 처리되는 동안r'\n'
캐릭터로 처리됩니다.\
다음에n
.
언제
'r'
또는'R'
접두사가 있고 백슬래시 뒤에 오는 문자는 변경되지 않고 문자열에 포함되며 모든 백슬래시는 문자열에 남아 있습니다.예를 들어, 문자열 리터럴r"\n"
백슬래시와 소문자의 두 문자로 구성됩니다.'n'
문자열 따옴표는 백슬래시로 이스케이프할 수 있지만 백슬래시는 문자열에 남아 있습니다(예:r"\""
백슬래시와 이중 따옴표의 두 문자로 구성된 유효한 문자열 리터럴입니다.r"\"
올바른 문자열 리터럴이 아닙니다(원시 문자열이라도 홀수의 백슬래시로 끝날 수 없습니다).특히, 백슬래시는 다음 따옴표 문자를 이스케이프하므로 원시 문자열은 단일 백슬래시로 끝날 수 없습니다.또한 백슬래시가 하나 있고 줄이 하나 더 있으면 줄의 연속이 아닌 문자열의 일부로 해석됩니다.
탈출은 번역되지 않는다는 뜻입니다.예:
r'\n'
문자 뒤에 백슬래시가 있는 문자열입니다.n
(무제한)r
새로운 라인이 될 것입니다.)
b
는 바이트 문자열을 나타내며 기본적으로 문자열이 유니코드인 파이썬 3에서 사용됩니다.Python 2.x에서 문자열은 기본적으로 바이트 문자열이었고 당신은u
유니코드를 나타냅니다.
언급URL : https://stackoverflow.com/questions/4780088/what-does-preceding-a-string-literal-with-r-mean
'programing' 카테고리의 다른 글
OEM을 사용하지 않고 Oracle에서 마지막으로 통계를 실행한 시간을 확인하는 방법 (0) | 2023.06.09 |
---|---|
열의 IDENTITY 속성을 변경합니다. 열을 삭제하고 다시 만들어야 합니다. (0) | 2023.06.09 |
MariaDB Galera 클러스터가 대기하는 대신 교착 상태를 던진 이유는 무엇입니까? (0) | 2023.06.09 |
스트립 레이블 g 그림의 위치를 위에서 아래로 변경하시겠습니까? (0) | 2023.06.09 |
해결 방법: "'@typescript-eslint/consistent-type-assertions' 규칙에 대한 정의를 찾을 수 없습니다." (0) | 2023.06.09 |