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:
● 간과하기 쉬운 상황
코드를 복사하거나 자동완성을 끄고 입력할 때, 또는 중첩 구조에서 elif
나 else
가 위쪽과 분리되어 보일 경우 실수로 콜론을 빠뜨릴 수 있습니다. 특히 함수나 클래스 선언부가 길어질수록 끝에 :
를 추가하는 것을 놓치는 경우가 많습니다.
● 에디터의 도움 받기
코드 에디터는 대부분 문법 강조 기능을 제공합니다. :
누락 시 색상 변화나 오류 표시를 통해 사용자에게 경고하므로, 에디터의 기능을 적극적으로 활용하는 것이 좋습니다. 또한 자동 들여쓰기 기능이 정상적으로 작동하지 않는다면 문법적 오류를 의심해볼 필요가 있습니다.
● 결론
SyntaxError: expected ':'
는 파이썬에서 가장 기본적이지만 중요한 오류 중 하나입니다. 문장을 끝맺는 형태로 :
가 요구되는 구문을 정확히 인식하고, 항상 누락 없이 작성하는 습관을 들이는 것이 중요합니다. 이 오류는 단순한 부주의로 발생하기 쉽지만, 반복적으로 연습하면서 문법 구조를 체득하면 자연스럽게 예방할 수 있습니다.
'프로그래밍언어 > 파이썬[Error]' 카테고리의 다른 글
[파이썬][Error] 006. SyntaxError - 'break' outside loop (0) | 2025.05.25 |
---|---|
[파이썬][Error] 005. SyntaxError - unmatched ')' (0) | 2025.05.25 |
[파이썬][Error] 004. SyntaxError - EOL while scanning string literal (0) | 2025.05.25 |
[파이썬][Error] 002. SyntaxError - invalid syntax: 'else' outside of 'if' block (0) | 2025.05.25 |
[파이썬][Error] 001. SyntaxError - expected ':' after 'if' statement (0) | 2025.05.25 |