Python에서 IndentationError: expected an indented block 오류는 코드의 들여쓰기가 잘못되었을 때 발생합니다. Python은 다른 많은 프로그래밍 언어와 달리 코드 블록을 구분하기 위해 들여쓰기를 사용합니다. 따라서, 들여쓰기는 Python 프로그래밍에서 매우 중요한 역할을 합니다. 이 글에서는 해당 오류의 원인과 해결 방법을 상세히 다루어 보겠습니다.
오류 발생 원인
IndentationError: expected an indented block 오류는 주로 다음과 같은 상황에서 발생합니다:
- 조건문, 반복문, 함수 정의 후 들여쓰기 누락: Python에서 if, for, while, def 등을 사용한 후에는 반드시 들여쓰기를 해야 합니다. 들여쓰기는 해당 블록의 시작을 나타냅니다.
- 들여쓰기 수준 불일치: 같은 코드 블록 내에서 들여쓰기 수준이 일관되지 않으면 오류가 발생할 수 있습니다.
- 탭과 공백 혼용: Python 코드에서 들여쓰기를 할 때 공백(space)만 사용하거나 탭(tab)만 사용해야 합니다. 두 가지를 혼용하면 들여쓰기 오류가 발생합니다.
해결 방법
1. 적절한 들여쓰기 추가: 조건문이나 반복문, 함수 정의 후에 들여쓰기를 추가하여 코드 블록을 명확히 구분합니다. 예를 들어
if x > 0:
print("x는 0보다 큽니다.") # 올바른 들여쓰기
2. 들여쓰기 수준 확인: 같은 블록 내의 코드는 모두 같은 수준의 들여쓰기를 유지해야 합니다. 대부분의 텍스트 에디터나 IDE는 들여쓰기 수준을 시각적으로 표시해줍니다.
3. 탭과 공백 통일: 들여쓰기에 사용하는 문자를 통일합니다. Python 공식 스타일 가이드인 PEP 8에서는 공백 4개를 사용하는 것을 권장합니다.
4. 코드 검사 도구 사용: pylint, flake8 등의 코드 검사 도구를 사용하여 들여쓰기와 다른 스타일 문제를 자동으로 찾아 수정할 수 있습니다.
IndentationError: expected an indented block 오류는 Python 프로그래밍에서 매우 흔하게 발생할 수 있는 오류입니다. 이 오류는 들여쓰기 규칙을 엄격히 지키면 쉽게 예방할 수 있습니다. 코드를 작성할 때는 항상 들여쓰기를 확인하고, 가능하면 코드 검사 도구를 사용하여 오류를 미리 찾아내는 습관을 기르는 것이 좋습니다.