[Python 시리즈 1편] 왜 Python으로 다시 시작할까

English version

Python은 처음 배우기 쉬운 언어라는 이미지가 강합니다. 하지만 자동화, 데이터 처리, 웹 백엔드, AI 실험까지 자연스럽게 이어지는 힘이 있습니다. 이번 글에서는 왜 Coding 카테고리의 첫 주제로 Python을 잡았는지, 그리고 어떤 순서로 공부할지 정리합니다.

이번 글에서 새로 나오는 용어

  1. 로드맵: 앞으로 공부할 주제들을 순서대로 정리한 학습 지도
  2. uv: Python 패키지 설치와 실행 환경을 빠르게 만드는 새 패키지 관리자
  3. CLI: 명령어로 조작하는 프로그램으로 자동화 스크립트를 실행할 때 사용

핵심 개념

Python 트랙 로드맵(학습 순서 지도)은 아래와 같습니다.

회차 주제 핵심 역량
01 왜 Python으로 다시 시작할까 학습 철학과 로드맵 수립
02 Mac에서 uv 실행 환경 준비 uv 기반 프로젝트 부트스트랩
03 변수와 자료형으로 데이터 다루기 입력·가공·출력 흐름 이해
04 조건문과 반복문으로 흐름 제어하기 분기·반복 제어 패턴
05 함수와 모듈로 코드 나누기 재사용 가능한 구조 설계
06 파일과 JSON으로 데이터 읽고 쓰기 안전한 파일·경로 관리
07 requests로 API 호출하고 자동화하기 외부 API 연동과 예약 실행
08 클래스 설계와 dataclasses 데이터 모델과 객체 구조화
09 예외 처리와 로깅 전략 신뢰성 있는 오류 핸들링
10 프로젝트 위생: virtualenv, pyproject, uv 실행 환경 통제
11 pytest로 테스트 자동화하기 검증 흐름과 CI 준비
12 CLI 자동화 앱으로 연결하기 Typer 기반 운영형 CLI
13 리스트 한 줄로 만들기(컴프리헨션) 선언형 반복 패턴
14 함수를 감싸는 도구(데코레이터) 공통 로직 주입
15 필요할 때만 값을 만드는 제너레이터 지연 평가·메모리 최적화
16 자동 정리 도구 with와 컨텍스트 매니저 자원 해제·예외 안전
17 타입 힌트와 Protocol 인터페이스 명세화
18 async/await 기초 맛보기 비동기 흐름 첫 이해
19 표준 라이브러리 & 패키징 입문 itertools, 배포 기본
20 캡스톤: 파이썬 표준 도구 통합 CLI·모듈·테스트 결산

14편은 언어 감각을 다지는 토대, 58편은 구조화와 데이터 모델링, 912편은 운영 품질을 올리는 자동화 단계, 1320편은 Python 심화 문법과 표준 도구를 파고드는 확장 블록입니다.

시리즈 설계 철학은 "입력→처리→출력 흐름을 먼저 잡고, 곧바로 웹 서비스·앱 구현으로 이어진다"는 한 문장으로 요약됩니다.

  • 빠른 반복: 매 편에서 바로 실행 가능한 예제를 제공해, 짧은 코드라도 동작하는 결과를 확인합니다.
  • 실전형 확장: 자동화 스크립트→파일 다루기→외부 API→웹 서비스 순서로 자연스럽게 확장합니다.
  • 공유 가능한 구조: 함수, 모듈, 폴더 구조 등을 일관되게 사용해 팀 프로젝트에도 그대로 가져갈 수 있도록 합니다.
기초 문법변수 · 조건문 · 반복문구조화함수 · 모듈 · 클래스운영 감각예외 · 로깅 · 테스트 · CLI심화 문법컴프리헨션 · 제너레이터 · async

로드맵에서 말하는 핵심 역량은 “그 회차를 끝냈을 때 스스로 설명할 수 있어야 하는 능력”을 뜻합니다.

코드로 따라하기

Python 문법은 들여쓰기만으로 블록을 구분합니다. 그래서 처음 코드를 볼 때 구조가 눈에 더 잘 들어옵니다.

def greet(name: str) -> str:
    message = f"안녕하세요, {name}님"
    return message

문법이 단순하다는 것은 문제 해결에 집중하기 쉽다는 뜻입니다. 예를 들어 파일 이름을 바꾸거나 여러 문서를 한 번에 처리하는 작은 자동화를 빠르게 만들 수 있습니다.

from pathlib import Path

for file_path in Path("notes").glob("*.txt"):
    print(file_path.stem)

동아리 방 명단을 읽어서 주간 공지를 자동 생성하면 반복 작업을 줄일 수 있습니다.

from datetime import date
from pathlib import Path

template = Path("template.md").read_text(encoding="utf-8")
names = Path("club_members.txt").read_text(encoding="utf-8").splitlines()

result = template.format(
    week=date.today().isocalendar().week,
    members=", ".join(names),
)

Path("notice.md").write_text(result, encoding="utf-8")

이 정도 자동화만으로도 웹 서비스 요구 사항 정리나 API 명세 작성 같은 문서 작업을 체계적으로 관리할 수 있습니다.

왜 중요한가

Python 생태계는 uv와 같은 패키지·프로젝트 관리 도구 덕분에 표준 라이브러리, 데이터 분석, 자동화 도구까지 한 워크플로우에서 다룰 수 있습니다. JetBrains AI Assistant와 Cursor처럼 Python을 우선 지원하는 IDE가 늘어나면서 가독성 높은 문법을 활용해 협업 속도를 높이는 일이 더 중요해졌습니다.

이 글에서 정리한 핵심은 세 가지입니다.

  • Python이 꾸준히 사랑받는 이유 이해하기
  • 문법의 단순함이 실전 확장성과 연결되는 지점 확인하기
  • 앞으로 공부할 주제 흐름 잡기

이후 학습은 아래 블록을 순서대로 밟습니다.

  • 기초 블록 (1~4): 입력-처리-출력 감각을 몸에 붙여 코드를 두려워하지 않게 합니다.
  • 구조 블록 (5~8): 함수, 모듈, 클래스, dataclasses로 로직을 나누고 다시 합칩니다.
  • 운영 블록 (9~12): 예외·로깅·테스트·CLI로 운영 품질을 다집니다.
  • 심화 블록 (13~20): 컴프리헨션, 데코레이터, 제너레이터, 컨텍스트 매니저, 타입 힌트, 비동기, 표준 라이브러리, 패키징으로 언어 깊이를 파고듭니다.

각 편의 예제는 그대로 실습해도 되고, 다음 편 과제의 재료가 되기도 하니 순서를 지키면서 따라오는 것이 좋습니다.

실습

  • 따라 하기: 로드맵 표를 직접 메모 앱에 옮기고, 각 편에서 만들고 싶은 예시를 한 줄씩 적습니다.
  • 확장하기: 학교나 동아리에서 반복되는 일을 떠올리고, Python으로 자동화할 수 있는 단계를 3단계 목록으로 작성합니다.
  • 디버깅: Path("notes") 대신 존재하지 않는 폴더를 넣고 오류 메시지를 읽어, 어떤 예외가 나오는지 기록합니다.
  • 완료 기준: 내 학습 순서와 자동화 아이디어가 문서로 정리되어 있고, 오류 메시지 원인을 설명할 수 있을 때입니다.

마무리

Python은 "쉬운 언어"라서 시작하기 좋은 것이 아니라, "빨리 만들어 볼 수 있는 언어"라서 계속 공부하기 좋은 언어입니다. 시작 장벽은 낮고, 확장성은 높습니다. 그래서 이번 Coding 카테고리의 출발점으로 가장 적합하다고 생각했습니다.

다음 글에서는 Mac에서 Python 실행 환경을 어떻게 정리하면 좋은지부터 이어서 다뤄보겠습니다.

💬 댓글

이 글에 대한 의견을 남겨주세요