IT/Python

[파이썬 오류] IndentationError: unindent does not match any outer indentation level

멋진 선배 2025. 4. 23. 10:53
반응형

이 에러는 파이썬 코드에서 들여쓰기(Indentation)가 일관되지 않을 때 발생합니다. 즉, 특정 코드 블록 내에서 들여쓰기 수준이 맞지 않거나, 탭(Tab)과 공백(Space)이 혼용되어 있을 때 주로 나타납니다.

 

대표적인 원인

  • 탭과 스페이스 혼용: 한 줄은 탭으로, 다른 줄은 스페이스로 들여쓰기를 하면 파이썬은 이를 다르게 인식합니다.
  • 복사/붙여넣기: 인터넷에서 코드를 복사해 붙여넣으면 들여쓰기 방식이 섞일 수 있습니다.
  • 코드 블록 내 일관성 부족: 같은 코드 블록 내에서 들여쓰기 간격(예: 2칸, 4칸)이 다르면 에러가 발생합니다.

해결 방법

들여쓰기 방식 통일: 코드 전체를 탭 또는 스페이스 중 하나로 통일합니다. 파이썬 공식 스타일 가이드(PEP8)는 스페이스 4칸을 권장합니다.

 

코드 에디터 기능 활용:

  • Visual Studio Code: Convert Indentation to Spaces 또는 Convert Indentation to Tabs 기능을 사용.
  • Sublime Text: View > Indentation > Convert Indentation to Spaces 메뉴 사용.
  • 들여쓰기(Whitespace) 표시 기능을 켜서 탭/스페이스 차이를 눈으로 확인.
  • 수동 정리: 문제되는 줄의 들여쓰기를 모두 지우고, 원하는 방식(예: 스페이스 4칸)으로 다시 입력.

 

요약

  • 탭과 스페이스 혼용 금지
  • 코드 블록 내 들여쓰기 수준 일치
  • 코드 에디터의 자동 변환/표시 기능 적극 활용

 

이렇게 들여쓰기를 일관되게 맞추면 IndentationError: unindent does not match any outer indentation level 에러를 깔끔하게 해결할 수 있습니다.

반응형