Python에서 문자열 리터럴을 스캔하는 동안 EOL

Muhammad Maisam Abbas 2023년1월30일
  1. Python의 원시 문자열
  2. Python에서 문자열 리터럴을 스캔하는 동안 EOL
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 오류를 시연했습니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

관련 문장 - Python String