콘텐츠로 건너뛰기

파이썬 튜토리얼: 'Syntax 에러' 수정하는 방법은?

[

파이썬에서의 잘못된 구문: SyntaxError의 일반 원인들

파이썬은 간단한 구문(syntax)으로 알려져 있습니다. 그러나 처음으로 파이썬을 배우거나 다른 프로그래밍 언어에 튼튼한 기반을 갖고 파이썬으로 전환 할 때, 파이썬이 허용하지 않는 몇 가지 사항들을 마주칠 수 있습니다. 여러분의 파이썬 코드를 실행하려고 할 때 **SyntaxError**를 받은 적이 있다면, 이 가이드가 도움이 될 것입니다. 이 튜토리얼에서는 파이썬에서의 잘못된 구문의 일반적인 예제를 살펴보고, 해당 문제를 해결하는 방법을 배울 것입니다.

이 튜토리얼을 마칠 때쯤에는 다음과 같은 것들을 할 수 있게 될 것입니다:

  • 파이썬에서 잘못된 구문을 식별할 수 있습니다.
  • SyntaxError 추적(traceback)을 이해할 수 있습니다.
  • 잘못된 구문을 해결하거나 미리 방지할 수 있습니다.

파이썬에서의 잘못된 구문

파이썬 코드를 실행할 때, 인터프리터는 먼저 파이썬 코드를 파싱하여 파이썬 바이트 코드로 변환합니다. 그 후, 이 파이썬 바이트 코드를 실행합니다. 인터프리터는 이 프로그램 실행의 첫 단계인 파싱 단계 동안 파이썬에서의 잘못된 구문을 찾을 수 있습니다. 파이썬 코드의 파싱에 성공하지 못하면, 이는 코드 어딘가에 잘못된 구문이 사용되었음을 의미합니다. 인터프리터는 어디서 오류가 발생했는지를 보여주려고 노력할 것입니다.

traceback/)은 약간 혼란스러울 수 있습니다. 때로는 오류가 가리키는 코드 자체는 완벽하게 정상적일 수도 있습니다.

파이썬에서의 잘못된 구문을 다른 예외와 같은 방식으로 처리할 수 없습니다. 올바르지 않은 구문이 포함된 코드 주위에 tryexcept 블록을 감싸보았지만, 여전히 인터프리터가 SyntaxError를 발생시킵니다.

SyntaxError 예외와 추적(traceback)

인터프리터가 파이썬 코드의 잘못된 구문을 발견하면, SyntaxError 예외를 발생시키고, 오류를 디버깅하는 데 도움이 될만한 정보를 포함하는 추적(traceback)을 제공할 것입니다. 다음은 파이썬 코드에서 잘못된 구문을 포함하는 예입니다:

Python

1# theofficefacts.py
2ages = {
3 'pam': 24,
4 'jim': 24
5 'michael': 43
6}
7print(f'Michael is {ages["michael"]} years old.')

주석: 딕셔너리 리터럴에서는 4번째 줄에 잘못된 구문이 있습니다. 두 번째 항목인 'jim' 다음에 쉼표가 빠져 있습니다. 코드를 그대로 실행하려고 하면, 다음과 같은 추적(traceback)을 받게 될 것입니다:

Shell

$ python theoff