python 실행 오류 SyntaxError: 대응하기

스폰서 링크
python post logo 파이썬
스폰서 링크

Python으로 작성한 프로그램 실행하기 전에 구문의 문법적 정합성을 체크하여 문자열을 큰따옴표(“ ”)로 감싸지 않거나 들여쓰기를 이용한 블록 구조를 위반 등의 정합성 위반이 발견됐을 때 구문 에러(SyntaxError)가 발생합니다. 이 글에서는 SyntaxError: 에 대한 예를 들어 그 대응 방법을 소개합니다.

스폰서 링크

SyntaxError: invalid syntax

함수(def) 나 for, if 문등의 마지막에 콜론( : )을 붙입니다. 다음 예는 함수 선언문 끝에 콜론( : )을 지정하지 않아서 발생한 구문 에러입니다.

>>> def test()
  File "<stdin>", line 1
    def test()
              ^
SyntaxError: invalid syntax
다음과 같이 수정하면 에러가 발생하지 않습니다.
>>> def test():
...     print( "test" )
...
>>> test()
test

SyntaxError: EOL while scanning string literal

다음 예는 문자열을 큰따옴표(“ ”)로 닫지 않아서 발생한 구문 에러입니다.

>>> print( "test )
  File "<stdin>", line 1
    print( "test )
                  ^
SyntaxError: EOL while scanning string literal

다음과 같이 수정하면 에러가 발생하지 않습니다.

>>> print( "test" )
test

SyntaxError: unexpected EOF while parsing

다음 예는 print()문의 괄호를 닫지 않아서 발생한 구문 에러입니다.

>>> def test():
...     print( "test"
... ^Z

  File "<stdin>", line 2
    print( "test"
                  ^
SyntaxError: unexpected EOF while parsing

다음과 같이 괄호의 시작에 대응하는 끝을 닫으면 구문 에러가 발생하지 않습니다.

>>> def test():
...     print( "test" )
...
>>> test()
test

SyntaxError: invalid character in identifier

다음 예는 연산자에 전각문자를 사용하거나 구문에 약속된 문자코드를 사용하지 않아서 발생한 구문 에러입니다. (※전각과 반각에 대한 상세한 설명은 외부 사이트 여기를 참조 하십시오.)

>>> 1*1
  File "<stdin>", line 1
    1*1
     ^
SyntaxError: invalid character '*' (U+FF0A)

다음과 같이 반각문자로 변경하면 구문 에러가 발생하지 않습니다.

>>> 1*1
1

댓글

제목과 URL을 복사했습니다