AI 코딩/오류 읽기 시리즈

AI 코딩할 때 꼭 알아야 할 오류 읽는 법 : IndentationError

togchae 2026. 4. 23. 18:24

오늘은 AI와 작업하거나 다른 사람이 만든 코드를 가져올 때

파이썬에서 자주 발생하는 오류에 대해서 알아보려고 합니다.

 

바로 예시로 가봅시다.

 

# IndentationError

def greet_func(user):
    print("Hello")
      print("My name is" + user)
    
if True:
greet_func("Tog")

이번에는 AI에게 사용자 이름을 활용해서 인사하는 프로그램을 작성해달라고 했습니다.

그 후에는 코딩연습을 위해 직접 따라 쳐봤어요.

AI가 작성해준 코드니 아무 문제없이 실행되겠죠?

이상하네요. 분명 그대로 따라쳤는데 IndentationError라는 오류가 발생했습니다.

코딩에서 indent는 우리가 <tab>키로 하는 들여쓰기를 말합니다.

이상한 들여쓰기를 했다고 오류라고 하네요.

 

이처럼 IndentationError

들여쓰기가 올바르지 않을 때 발생하는 오류입니다.

특히 Python은 다른 언어와 달리 '{}' 중괄호 대신 들여쓰기로 코드 블록을 구분하기 때문에,

들여쓰기가 맞지 않으면 오류가 발생합니다.

 

코드를 보면 print("My name is" + user)와 print("Hello")가 들여쓰기가 동일하지 않아서 오류가 발생했습니다.

왜 My name 코드가 "틀렸다" 라고 표현하지 않냐면 들여쓰기가 동일하기만 하면 잘 실행되기 때문입니다.

한번 평소와 다르게 이상하게 들여쓰기를 해볼까요?

# IndentationError

def greet_func(user):
           print("Hello")
           print("My name is" + user)
    
greet_func("Tog")

엄청나게 긴 공백줄을 넣어봤습니다.

직접 실행해보면요.

의외로 잘 실행이 됩니다.

 

자 그럼 greet_func를 잘 수정해봅시다.

# IndentationError

def greet_func(user):
    print("Hello")
    print("My name is " + user)
    
if True:
greet_func("Tog")

이젠 오류가 없을까요?

if문이 조금 수상해보이긴 합니다만, 한번 실행해봅시다.

여지없이 오류가 생깁니다. 오류코드를 읽어보면,

'if' 문 뒤에는 들여쓰기를 한 코드 블럭이 필요하다 라고 하네요.

 

딸랑 스페이스 1개라도 if, for, def같은 함수 뒤에는

들여쓰기를 해주어야 코드가 정상적으로 실행이 됩니다.

 

스페이스나 탭을 통해서 들여쓰기를 해준뒤에 실행을 해보면

아 드디어 제가 원했던 실행 결과가 나오네요.

 

그래서 IndentationError는 어디부터 확인해야되는데요?

1. if, for, while, def 뒤에 있는 코드가 들여쓰기 되었는지

2. 같은 블록 안의 코드가 모두 같은 깊이로 맞춰져 있는지

3. 탭과 스페이스가 섞여서 쓰이지 않았는지.

 

IndentationError는 특히 Python에서 Indent가 문법으로 적용되어 발생하는 에러입니다.

AI가 코드를 만들어주면 가끔 스페이스 2개와 탭(스페이스 4개)가 섞여서 쓰이는 경우가 있습니다.

 

또한 IDE에서 작업할때는 알아서 스페이스 4개가 변환이 되는데,

다른 환경에서 작업하면 스페이스 4개와 탭이 다르게 인식되어 오류가 생기는 경우도 있습니다.

 

다음에도 새로운 오류를 같이 읽어보도록 하겠습니다.