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をコピーしました