본문 바로가기

[Python] 60강 파이썬 프로그램 구조화 정리

@도마22026. 1. 20. 18:00
728x90


이 강의는 파이썬 강의 60강입니다.
이전 강의까지 우리는 모듈, 표준 라이브러리, 시간, 파일, 실행 인자를 배웠습니다.
이번 강의에서는 이 모든 걸 한 번에 묶어
“잘 구조화된 파이썬 프로그램”의 형태를 정리합니다.

핵심은 이것입니다.
이제 코드는 ‘연습용’이 아니라 ‘사용할 수 있는 도구’가 됩니다.


왜 구조화가 필요한가
지금까지는
기술을 하나씩 배웠습니다.

  • 파일 처리
  • 랜덤
  • 시간
  • 실행 인자

하지만 구조가 없으면
기술이 늘어날수록 코드는 망가집니다.

구조화란
기술을 안전하게 담는 그릇입니다.


1️⃣ 좋은 프로그램의 기본 형태

지금 단계에서 추천하는
가장 기본적인 구조는 이것입니다.

def main():
    pass

if __name__ == "__main__":
    main()

이 구조는
모든 실전 파이썬 프로그램의 출발점입니다.


2️⃣ main 함수의 역할

main() 함수는
프로그램의 흐름만 담당합니다.

def main():
    load_data()
    run_program()
    save_data()

구현은 아래에,
흐름은 위에 두는 습관이 중요합니다.


3️⃣ 기능별 함수 분리

구조화의 핵심은
기능별 함수 분리입니다.

def load_data():
    pass

def run_program():
    pass

def save_data():
    pass

함수 이름만 봐도
역할이 보여야 합니다.


4️⃣ 파일 하나의 책임

파일(.py) 하나에는
하나의 역할만 주는 게 좋습니다.

예시:

  • main.py → 실행 진입점
  • data.py → 데이터 처리
  • utils.py → 공통 기능

이 구조는
프로젝트가 커질수록 힘을 발휘합니다.


5️⃣ 실행 인자와 구조의 결합

실행 인자는
main()에서 한 번만 처리합니다.

import sys

def main():
    if len(sys.argv) < 2:
        print("옵션이 필요합니다.")
        return

    option = sys.argv[1]
    run(option)

실행 흐름이
한 곳에 모입니다.


6️⃣ 구조화된 자동화 예시

지금까지 배운 걸
한 구조로 묶은 예시입니다.

import sys
import os
import datetime

def main():
    log("프로그램 시작")
    run()
    log("프로그램 종료")

def run():
    print("작업 실행")

def log(message):
    now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    print(f"[{now}] {message}")

if __name__ == "__main__":
    main()

이 코드는

  • 구조 있음
  • 확장 가능
  • 자동화에 바로 사용 가능

7️⃣ 구조화 체크리스트

아래 질문에
“예”가 많을수록 좋은 구조입니다.

  • 실행 흐름이 한눈에 보이는가?
  • main 함수가 있는가?
  • 기능이 함수로 나뉘어 있는가?
  • 파일 역할이 명확한가?

8️⃣ 60강까지 왔다는 의미

여기까지 왔다는 건:

  • 문법은 끝났고
  • 구조를 이해했고
  • 작은 도구를 만들 수 있고
  • 다음은 분야 확장입니다.

이제부터는
“어떻게 쓰느냐”의 세계입니다.


이번 강의 핵심 정리

  • 구조는 실전 코드의 생명이다
  • main 함수는 흐름을 담당한다
  • 기능은 함수로, 역할은 파일로 나눈다
  • 이 구조는 모든 분야에 재사용된다

728x90
도마2
@도마2 :: 도마의 코드노트

초보자를 위한 코딩 강의를 정리합니다. 파이썬부터 C#, Unity 게임 제작까지 차근차근 기록합니다. — 도마

목차