Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 구문 오류:문자열 리터럴을 스캔하는 동안 EOL 솔루션

최고의 개발자라도 코딩할 때 항상 구문 오류를 범합니다. 프로그래밍 언어에는 규칙이 너무 많고 오타가 하나만 있어도 오류가 발생할 수 있습니다.

"구문 오류:문자열 리터럴을 스캔하는 동안 EOL" 오류가 발생하더라도 걱정하지 마십시오. 이 가이드에서는 이 오류의 의미와 해결 방법에 대해 설명합니다. 잠재적인 원인과 솔루션을 식별하는 데 도움이 되는 몇 가지 예시 시나리오를 살펴보겠습니다.

시작하겠습니다!

문제:구문 오류:문자열 리터럴을 스캔하는 동안 EOL

구문은 프로그래밍 언어의 문법과 같습니다. 영어에는 구두점과 철자를 관리하는 규칙이 있습니다. 프로그래밍 언어에는 유사한 규칙이 있습니다.

오류를 살펴보겠습니다.

구문 오류:문자열 리터럴을 스캔하는 동안 EOL

SyntaxError 메시지는 우리가 Python의 구문 규칙을 따르지 않았음을 알려줍니다.

오류에 대한 설명은 Python이 발견되지 않은 코드 줄의 끝에 특정 문자가 나타날 것으로 예상하고 있음을 나타냅니다. 예를 들어, 파이썬은 문자열을 연 줄의 끝에서 문자열 닫기(”) 문자를 예상할 수 있습니다.

구문 오류가 발생하면 Python은 프로그램 실행을 중지합니다. 이는 Python 인터프리터가 나머지 코드를 읽기 전에 문제를 수정해야 하기 때문입니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

이 오류는 일반적으로 다음으로 인해 발생합니다.

  • 잘못된 구문을 사용하여 여러 줄에 걸쳐 있는 문자열
  • 따옴표 누락
  • 따옴표가 일치하지 않음

예시 시나리오:여러 줄 문자열

Python에서 문자열은 여러 줄에 걸쳐 있을 수 있습니다. 여러 줄 문자열의 구문은 기존 문자열의 구문과 다릅니다. 여러 줄 문자열은 삼중 따옴표로 묶거나 3개의 따옴표를 사용하여 작성해야 합니다.

여러 줄로 된 문자열을 살펴보겠습니다.

def welcome_hero():message ="영웅이여, 환영합니다! 막 운명의 성에 들어섰습니다. 수락하기로 선택했다면 당신의 도전은 신성한 에메랄드를 찾아 여행하는 세일즈맨에게 가져가는 것입니다." print(message)welcome_hero()

welcome_hero()라는 함수를 정의했습니다. . 이 함수는 콘솔에 메시지를 인쇄합니다. 이 메시지는 "message" 변수에 할당됩니다.

코드를 실행해 보겠습니다.

파일 "main.py", 2행 메시지 ="영웅, 환영합니다! ^SyntaxError:문자열 리터럴을 스캔하는 동안 EOL

오류가 반환됩니다. 작은따옴표나 큰따옴표를 사용하는 문자열은 여러 줄에 걸쳐 있을 수 없기 때문입니다. 이 문제를 해결하려면 문자열을 3개의 작은따옴표나 큰따옴표로 묶어야 합니다. 다음 문자 사이에 나타나는 모든 텍스트는 문자열의 일부가 됩니다.

message ="""환영합니다, 영웅님! 당신은 막 운명의 성에 들어섰습니다. 당신이 그것을 수락하기로 선택한다면 당신의 도전은 신성한 에메랄드를 찾아 그것을 여행하는 세일즈맨에게 가져가는 것입니다.""" 

이 수정된 라인으로 코드를 실행해 봅시다. 코드는 다음을 반환합니다.

안녕하세요, 영웅님! 막 운명의 성에 입장하셨습니다. 당신이 그것을 받아들이기로 결정했다면 당신의 도전은 신성한 에메랄드를 찾아 여행하는 세일즈맨에게 가져가는 것입니다.

성공! 우리 코드는 오류 없이 메시지를 인쇄합니다.

예시 시나리오:따옴표 누락

문자열의 내용이 선언된 후에 문자열을 닫아야 합니다. 그렇지 않으면 Python은 구문 오류를 반환합니다. 닫히지 않은 문자열을 살펴보겠습니다.

def welcome_hero():message ="영웅, 환영합니다! print(message)welcome_hero()

코드를 실행해 보겠습니다.

파일 "main.py", 2행 메시지 ="영웅, 환영합니다! ^SyntaxError:문자열 리터럴을 스캔하는 동안 EOL

문자열을 닫는 것을 잊었습니다. "message" 변수를 선언한 코드 줄을 보면 닫는 문자열 문자가 없습니다.

동일한을 사용하여 문자열을 닫아 이 오류를 수정할 수 있습니다. 문자열을 여는 데 사용한 따옴표.

def welcome_hero():message ="환영합니다, 영웅님!" print(message)welcome_hero()

코드를 다시 실행해 보겠습니다.

환영합니다, 영웅님!

코드가 성공적으로 실행됩니다.

예시 시나리오:불일치 따옴표

문자열을 여는 데 사용하는 따옴표 유형은 문자열을 닫는 데 사용하는 따옴표 유형과 동일해야 합니다.

문자열을 열고 닫는 데 사용하는 따옴표 유형이 다른 경우 구문 오류가 반환됩니다. 작은따옴표(')를 사용하여 문자열을 열고 큰따옴표(")를 사용하여 문자열을 닫는 프로그램을 살펴보겠습니다.

def welcome_hero():message ='환영합니다, 영웅님!' print(message)welcome_hero()

코드 반환:

파일 "main.py", 2행 메시지 ='환영합니다, 영웅!' ^SyntaxError:문자열 리터럴을 스캔하는 동안 EOL

인용문을 일치시키면 이 문제를 해결할 수 있습니다. 큰따옴표(")를 사용하도록 첫 번째 따옴표를 변경할 것입니다.

def welcome_hero():message ="환영합니다, 영웅님!" print(message)welcome_hero()

이제 코드가 성공적으로 실행됩니다:Welcome, Hero!



결론

"구문 오류:문자열 리터럴을 스캔하는 동안 EOL" 오류는 모든 Python 개발자가 경험합니다. 이 오류는 다음과 같은 경우에 발생합니다.

  • 문자열을 닫는 것을 잊었습니다.
  • 잘못된 기호를 사용하여 문자열을 닫았습니다.
  • 3개가 아닌 하나의 따옴표를 사용하여 여러 줄로 된 문자열을 선언합니다.

이 오류를 해결하려면 위의 조건 중 하나라도 해당되는지 확인하십시오. 그런 다음 코드에 필요한 변경을 수행합니다. 이제 Python 전문가처럼 이 오류를 해결할 준비가 되었습니다!