파이썬 모듈 import — 표준 라이브러리
남들이 짜둔 도구를 한 줄로 가져다 쓰기. 자동화 한 달의 분기점.
1편 "일이 빨리 끝남" 의 비밀이 여기 있습니다. 파이썬에는 200개 넘는 모듈이 기본 설치되어 있어요. 랜덤 숫자·날짜·파일 시스템·JSON·HTTP·압축·암호화·정규식 — 외부 패키지(pip install) 없이도 거의 다 제공됩니다. 이걸 표준 라이브러리(standard library) 라 부르고, 입문자가 처음으로 "진짜 일하는 프로그램" 을 짜는 도구.
11편을 마치면 ① import 3가지 문법 ② 단골 모듈 8종 ③ 외부 패키지(pip) 와의 관계 ④ 함정과 모범 사례 — 4가지를 정리합니다.
import 의 3가지 모양
# 1) 전체 모듈 가져오기 — 가장 안전
import random
random.randint(1, 6) # 모듈 이름.함수 형태
# 2) 특정 항목만 가져오기
from datetime import datetime, timedelta
now = datetime.now()
tomorrow = now + timedelta(days=1)
# 3) 별칭 — 자주 쓰는 긴 이름 줄이기
import numpy as np # 관례: np
import pandas as pd # 관례: pd
import matplotlib.pyplot as plt
판단 기준: "모듈에서 한두 개만 쓰면 from import, 많이 쓰면 그냥 import". from X import * 같은 와일드카드는 한 화면에 어떤 이름이 들어왔는지 안 보여서 피해야 할 안티 패턴입니다. 디버깅이 지옥이 됩니다.
📌 import 는 항상 파일 맨 위에
PEP 8 권장 순서 — ① 표준 라이브러리 ② 외부 패키지 ③ 본인 모듈. 각 그룹 사이 빈 줄 한 줄. 파일 중간에서 import 하면 "여기서 이 모듈이 처음 등장한다" 가 안 보여서 협업이 어려워집니다.
표준 라이브러리 단골 8종
| 모듈 | 하는 일 | 대표 함수·예 |
|---|---|---|
random | 난수·선택 | randint(1,6), choice(["a","b"]), shuffle(lst) |
datetime | 날짜·시간 | datetime.now(), timedelta(days=7), strftime("%Y-%m-%d") |
os | 파일·환경 변수 | os.listdir("."), os.path.exists(f), os.environ.get("HOME") |
pathlib | 현대식 경로 (os 보다 권장) | Path("data").mkdir(), p.read_text() |
json | JSON 직렬화 | json.loads(s), json.dumps(d, ensure_ascii=False) |
math | 수학 | math.pi, math.sqrt(16), math.log(2) |
re | 정규표현식 | re.findall(r"\d+", text) |
collections | 자료구조 확장 (19편) | Counter, defaultdict, deque |
실전 한 줄짜리
import random
random.choice(["치킨", "피자", "냉면"]) # 점심 메뉴 추첨
from datetime import datetime
datetime.now().strftime("%Y%m%d-%H%M%S") # 파일명용 타임스탬프
from pathlib import Path
[f.name for f in Path("/etc").iterdir() if f.suffix == ".conf"]
import json
with open("data.json") as f:
config = json.load(f)
import math
math.gcd(12, 18) # 6 — 최대공약수
math.factorial(5) # 120
import re
re.findall(r"\d{3}-\d{4}", "전화 010-1234, 02-5678")
# ['010-1234'] — 패턴 일치만 추출
이 8종이 자동화 스크립트의 90% 를 책임집니다. 22편 "자동화 스크립트" 에서 이들을 묶어 실제 잡일을 자동화합니다.
외부 패키지(pip) — 표준 라이브러리가 부족할 때
웹 요청·데이터 분석·머신러닝 — 표준 라이브러리만으론 한계가 있습니다. 그때 PyPI 에서 외부 패키지를 받아요. 2026년 기준 PyPI 에는 약 60만 개의 패키지가 등록되어 있습니다.
# 터미널에서
pip install requests pandas
# 코드에서
import requests
r = requests.get("https://api.example.com/data")
data = r.json()
import pandas as pd
df = pd.read_csv("sales.csv")
df.head()
표준 라이브러리(이미 깔림) 와 외부 패키지(pip로 깔아야 함) 의 차이를 인식하는 게 11편의 핵심. import xyz 가 ModuleNotFoundError 를 뱉으면 보통 pip install xyz 가 답입니다.
pip install --user 정도로만 시험하고, 본격적인 프로젝트는 venv 만들고 시작하는 게 안전.
마무리 — 라이브러리 카탈로그가 무기다
실무 파이썬 개발자의 가장 큰 능력은 "이 작업에 어떤 라이브러리가 있는지 아는 것"입니다. "파이썬으로 PDF 만들기"·"이메일 보내기"·"엑셀 읽기" — 거의 모두 한 번 검색하면 라이브러리가 있어요. 직접 구현 전에 pip search 또는 구글 검색 한 번이 한 주를 아낍니다.
다음 미션 — REPL 에서: ① random 으로 1~45 중 6개 추첨(로또) ② datetime 으로 본인 생일까지 며칠 남았는지 ③ json 으로 dict 를 파일에 저장하고 다시 읽어 확인.
다음 편 미리보기
12편 — "예외 처리 try·except": 에러가 나도 프로그램을 멈추지 않고 우아하게 처리. 입문 마지막 단계.
← 10편 "컴프리헨션" · 다음: 12편 "예외 처리 try except"