본문 바로가기
프로그래밍언어/파이썬[Error]

[파이썬][Error] 003. SyntaxError - expected ':'

by about_IT 2025. 5. 25.
728x90

SyntaxError: expected ':'는 파이썬 코드에서 특정 문법 구조 다음에 콜론(:)이 누락되었을 때 발생하는 오류입니다. 이 오류는 주로 if, elif, else, for, while, def, class 같은 블록을 시작하는 구문에서 자주 발생합니다. 파이썬은 이러한 구문 뒤에 반드시 콜론을 명시해야 해당 블록이 어디서 시작하는지를 파악할 수 있습니다.

콜론은 단순한 문장부호가 아니라, 파이썬이 블록의 시작을 인식하는 핵심적인 문법 요소입니다. 다른 언어들이 중괄호({})로 코드 블록을 구분하는 것과 달리, 파이썬은 콜론과 들여쓰기를 조합하여 블록을 정의합니다. 이 때문에 콜론이 없으면 문법 구조가 완성되지 않았다고 판단되어 SyntaxError가 발생합니다.

● 오류 발생 예시

for i in range(5)
    print(i)

위 코드는 for 반복문 뒤에 콜론이 없기 때문에 다음과 같은 오류를 출력합니다.

SyntaxError: expected ':'

● 올바른 코드 예시

for i in range(5):
    print(i)

위 코드처럼 콜론을 명확히 추가하면 파이썬은 반복 블록의 시작을 정확하게 인식할 수 있습니다.

● 다양한 문맥에서의 발생

  • if 조건문: if x > 0:
  • elif 조건문: elif x == 0:
  • else 블록: else:
  • while 반복문: while x < 5:
  • def 함수 정의: def 함수():
  • class 정의: class MyClass:

● 간과하기 쉬운 상황

코드를 복사하거나 자동완성을 끄고 입력할 때, 또는 중첩 구조에서 elifelse가 위쪽과 분리되어 보일 경우 실수로 콜론을 빠뜨릴 수 있습니다. 특히 함수나 클래스 선언부가 길어질수록 끝에 :를 추가하는 것을 놓치는 경우가 많습니다.

● 에디터의 도움 받기

코드 에디터는 대부분 문법 강조 기능을 제공합니다. : 누락 시 색상 변화나 오류 표시를 통해 사용자에게 경고하므로, 에디터의 기능을 적극적으로 활용하는 것이 좋습니다. 또한 자동 들여쓰기 기능이 정상적으로 작동하지 않는다면 문법적 오류를 의심해볼 필요가 있습니다.

● 결론

SyntaxError: expected ':'는 파이썬에서 가장 기본적이지만 중요한 오류 중 하나입니다. 문장을 끝맺는 형태로 :가 요구되는 구문을 정확히 인식하고, 항상 누락 없이 작성하는 습관을 들이는 것이 중요합니다. 이 오류는 단순한 부주의로 발생하기 쉽지만, 반복적으로 연습하면서 문법 구조를 체득하면 자연스럽게 예방할 수 있습니다.

728x90