본문 바로가기
파이썬

IndentationError: unindent does not match any outer indentation level

by RWriter 2023. 12. 4.
반응형

파이썬에서 들여쓰기(인덴트)의 오류가 있을때 발생한다. 파이썬은 여타 다른 프로그래밍 언어와 다르게 코드 블록을 정의하기 위해 들여쓰기를 사용하고 이는 규칙이 있으니 어긋날 경우 오류가 발생한다.

 

  1. 일관된 들여쓰기 사용: 탭(tab)과 공백(space)을 혼합해서 사용하지 않는다. Python 코드에서는 일반적으로 공백 4개를 사용하는 것을 권장.
  2. 블록 레벨 확인: if, for, while, def (함수 정의), class (클래스 정의) 등의 블록은 같은 수준의 들여쓰기를 유지해야 한다.
  3. 문자열이나 괄호 안의 들여쓰기: 여러 줄에 걸친 문자열이나 괄호 안에서의 들여쓰기는 오류의 원인이 되지 않는다.

 

아래 코드에서 print("This line has incorrect indentation") 부분의 들여쓰기가 올바르지 않아 IndentationError 가 발생합니다. 이를 수정하려면 해당 줄의 들여쓰기를 if 문과 일치시켜야 한다.

 

def example_function():
    if True:
        print("This line is correctly indented")
      print("This line has incorrect indentation")  # 여기 들여쓰기 오류

 

 

해결방법

  • 코드를 잘 살펴보면서 일관되지 않은 들여쓰기가 있는지 확인하기.
  • IDE나 텍스트 에디터의 들여쓰기 설정을 확인하고, 필요하다면 탭을 공백으로 자동 변환하는 옵션을 활성화한다.
  • 때로는 들여쓰기가 올바르게 보이지만 실제로는 탭과 공백이 혼합되어 있는 경우가 있다. 이럴 때는 각 줄의 시작 부분에 커서를 놓고 탭과 공백을 확인한다

 

 

 

반응형

댓글