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
'⚙️ Python > 💻 Python 기초' 카테고리의 다른 글
| [Python] 59강 sys 모듈과 실행 인자 (프로그램을 명령어처럼) (0) | 2026.01.19 |
|---|---|
| [Python] 58강 os 모듈로 파일·폴더 다루기 (0) | 2026.01.19 |
| [Python] 57강 datetime으로 시간 다루기 (0) | 2026.01.18 |
| [Python] 56강 표준 라이브러리 활용법 (이미 있는 도구를 쓰는 습관) (0) | 2026.01.18 |
| [Python] 55강 모듈과 import 개념 (코드를 파일로 나누기) (0) | 2026.01.17 |