Python에서 문자열 리터럴을 스캔하는 동안 EOL
이 자습서에서는 Python에서 문자열 리터럴을 스캔하는 동안 구문 오류 EOL에 대해 설명합니다.
Python의 원시 문자열
원시 문자열은 Python에서 정규식을 지정하는 데 사용됩니다. 시작 따옴표 앞에 원시 문자열이 r
또는 R
로 선언됩니다. 원시 문자열에는 이스케이프 문자가 필요하지 않으며 규칙에 따라 백슬래시를 리터럴 문자열로 취급합니다. 다음 코드 조각은 원시 문자열의 작동을 보여줍니다.
print(r"\t\\")
출력:
\t\\
이제 이것이 일반 문자열에서 어떻게 보이는지 봅시다.
print("\t\\")
출력:
\
그 차이는 분명합니다. 원시 문자열을 사용할 때 파이썬 인터프리터는 \t\\
를 \t\\
로 간주하지만 일반 문자열을 사용할 때 파이썬 인터프리터는 \t
를 탭으로 간주하고 다음 \
를 마지막 \
에 대한 이스케이프 문자로 사용합니다.
Python에서 문자열 리터럴을 스캔하는 동안 EOL
이러한 원시 문자열의 유일한 제한 사항은 짝수 개의 백슬래시로만 끝낼 수 있다는 것입니다. 원시 문자열이 홀수 개의 백슬래시로 끝나는 경우 Python 인터프리터는 “문자열 리터럴을 스캔하는 동안 EOL"이라는 구문 오류를 표시합니다. 원시 문자열에서도 백슬래시로 따옴표를 이스케이프할 수 있기 때문입니다. 끝에 백슬래시 수가 홀수인 경우 인터프리터는 마지막 백슬래시가 닫는 따옴표를 이스케이프하는 데 사용된다고 생각하고 문자열의 끝을 계속 검색합니다. 이 현상은 아래 코딩 예제에서 입증되었습니다.
print(r'\t\\\')
출력:
File "<ipython-input-1-d2ab522bcdab>", line 1
print(r'\t\\\')
^
SyntaxError: EOL while scanning string literal
Python에서 원시 문자열을 작성하는 동안 EOL while scanning string literal
오류를 시연했습니다.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn