파이썬/첫 실행과 기본 사용법

파이썬 들여쓰기 완전 정복 : PEP 8 기준 + VSCode 자동 설정 가이드

creator6556 2025. 10. 17. 13:45

1 왜 들여쓰기(Indentation)가 중요할까?

→ 파이썬은 중괄호 { } 대신 들여쓰기로 코드의 구조를 구분

→ 즉, 공백이나 탭의 위치가 문법(Syntax) 그 자체이며,단순히 보기 좋게 꾸미는 것이 아님

→ 들여쓰기는 '코드의 계층 구조'를 표현하는 신호임

→ 잘못된 들여쓰기는 IndentationError로 이어짐


2 들여쓰기의 기본 개념

코드의 맨 앞부분에 공백(Space) 또는 탭(Tab)을 넣어 코드의 구조(블록)를 표현하는 방법

파이썬은 들여쓰기 깊이로 '어디까지가 같은 블록인가'를 판단

1-1 코드

if True:
    print('Hello!')   # 공백 4칸
print('World!')       # 들여쓰기 없음

3 들여쓰기의 기본 규칙 (PEP 8 기준)

1) 기본 원칙

한 단계는 공백 4칸(Space x 4)과 같음

탭(Tab) 사용은 비추천이며, 공백과 혼용은 금지

같은 블록은 같은 깊이를 유지

PEP 8 공식 스타일 가이드는 들여쓰기를 4칸으로 통일하도록 명시


2) 괄호 줄바꿈 시

→ 괄호, 리스트, 딕셔너리 내부에서는 자유롭게 줄바꿈이 가능함

→ 같은 수준으로 정렬해야 가독성이 높음

2-1 코드

numbers = [
    1, 2, 3,
    4, 5, 6,
]

4 들여쓰기가 필요한 주요 구문

구문 설명 예시
if / elif / else 조건문 블록 if 조건: 다음 줄은 4칸 들여쓰기
for / while 반복문 블록 반복되는 코드 영역은 들여쓰기
def 함수 정의 함수 내부는 4칸 들여쓰기
class 클래스 정의 클래스 내부는 4칸
메서드 내부는 8칸
try / except / finally 예외 처리 각 블록 내부는 4칸 들여쓰기
with 자원 관리 구문 블록 내 코드 4칸 들여쓰기
블록 종료 시 자동 close
ㅡmatch / case Python 3.10+ 조건 분기 case 내부 4칸 들여쓰기

728x90

5 중첩 들여쓰기 (Nested Indentation)

들여쓰기 안에 또 들여쓰기가 들어가는 구조

→ 즉, 조건문 안의 반복문, 함수 안의 조건문 같은 구조임

→ 중첩이 너무 깊으면 코드가 복잡해지므로 조기 종료(Early Exit), 함수 분리(Def 분리), 조건 반전으로 단순화하는 것이 좋음


6 자주 발생하는 오류와 해결법

오류 원인 해결법
IndentationError 콜론(:) 뒤에 들여쓰기 누락
블록 불일치
: 뒤는 항상 4칸 들여쓰기
TabError 탭(Tab)과 공백(Space) 혼용 '탭을 공백으로 변환(Insert Spaces)' 설정 ON
복사/붙여넣기 오류 들여쓰기 문자 깨짐 자동 포매터(black / autopep8)로 재정렬 

7 자동 들여쓰기 & 포매터 설정 (VS Code 기준)

1) 기본 설정

설정 항목 권장 값
editor.tabSize 4
editor.insertSpaces true
editor.detectIndentation false
editor.autoIndent full
editor.formatOnSave true

2) 단축키

→ Shift + Alt + F는 전체 정렬임

→ Tab / Shift + Tab은 들여쓰기 증가 / 감소임


8 자동 포매터 (Formatter) 추천

도구 활용 명령어
autopep8 세밀한 수정 가능
가볍고 빠름
autopep8 your_file.py -- in-place
black 일관성 중심
실무 표준
black your_file.py
black .

→ VSCode에서 Black Formatter 확장을 설치하고, Format Document With... -> 'Black Formatter'를 선택하고, Format On Save를 활성화하면 저장 시 자동으로 PEP 8 기준으로 정렬이 완료됨


9 PEP 8 핵심 요약

항목 규칙
들여쓰기 공백 4칸 (탭 금지)
한 줄 길이 79자 이하
함수/클래스 간 간격 2줄 띄우기
공백 사용 규칙 연산자 주변 1칸, 콤마 뒤 1칸
괄호 안쪽 공백 금지
파일 끝 빈 줄 1줄(개행) 추가

Python 들여쓰기에 대해 더 상세한 설명을 원하는 분들은 아래 사이트에 접속하기

Python 들여쓰기


Python 들여쓰기 뿐만 아니라 다른 프로그래밍 언어에 대해 알고 싶은 분들은 아래 사이트에 접속하여 원하는 링크에 접속하기

프로그래밍 언어 정리 모음 

728x90