천재들의 도구함 — 파이썬 모듈(Module)과 라이브러리 완벽 입문
파이썬이 전 세계에서 가장 사랑받는 이유는 단 하나입니다. "이미 누군가 내가 필요한 기능을 다 만들어 놨기 때문"입니다.
오늘은 그 거대한 도구함을 여는 열쇠, import와 as를 배워봅니다.
1. 모듈(Module)이란 무엇인가요?
모듈은 특정 기능을 하는 함수·변수·클래스들을 하나의 파일(.py)에 모아놓은 '부품 꾸러미'입니다.
예를 들어 수학 계산만 모아놓은 꾸러미, 날짜·시간 계산만 모아놓은 꾸러미, 파일을 읽고 쓰는 꾸러미 등이 있습니다.
레고(LEGO)를 생각해 보세요. 레고 세트는 바퀴 조각, 창문 조각, 지붕 조각 등 용도별로 분류되어 있습니다. 파이썬 모듈도 마찬가지로, 목적별로 미리 만들어진 코드 조각 모음입니다. 우리는 필요한 조각을 꺼내다가 내 프로젝트에 붙여 넣기만 하면 됩니다.
모듈 vs 라이브러리: 엄밀히 말하면 모듈은 단일 .py 파일이고, 라이브러리는 여러 모듈이 묶인 패키지입니다.
하지만 입문 단계에서는 두 단어를 같은 의미로 사용해도 무방합니다.
2. 도구 가져오기 — import 키워드
도구를 쓰고 싶을 때는 코드 맨 윗줄에 import 도구이름이라고 써주면 됩니다.
이 한 줄이 마치 도구함의 뚜껑을 여는 것과 같습니다.
STEP 01
import 선언하기
파일의 가장 위쪽에 import 모듈이름을 적습니다. 파이썬이 해당 도구함을 메모리에 불러옵니다.
STEP 02
모듈 안의 함수 호출하기
모듈이름.함수이름() 형태로 호출합니다. 점(.)은 '안에 있는'이라는 뜻입니다.
STEP 03
결과 확인하기
반환된 값을 변수에 저장하거나 바로 print()로 출력해서 확인합니다.
실제 코드로 확인해 봅시다. math 모듈을 불러와서 올림(ceil) 함수를 사용하는 예제입니다.
import math # 수학(math) 도구함을 가져옵니다. # 수학 도구함 안에 있는 '올림(ceil)' 함수를 써봅시다. result = math.ceil(12.3) print(result) # 13이 출력됩니다. # 내림(floor), 제곱근(sqrt)도 써볼게요. print(math.floor(12.9)) # 12 print(math.sqrt(16)) # 4.0 print(math.pi) # 3.141592653589793
주의! import math를 선언하지 않고 math.ceil()을 바로 쓰면 NameError: name 'math' is not defined 오류가 납니다.
반드시 사용 전에 import를 먼저 선언하세요.
3. 별명 붙여주기 — as 키워드
도구함 이름이 너무 길면 매번 타이핑하기 귀찮겠죠? 그때는 as로 짧은 별명을 붙여줄 수 있습니다.
실제로 데이터 분석 현장에서는 pandas를 pd로, numpy를 np로 부르는 것이 업계 관례입니다.
import datetime as dt # 날짜 도구함을 'dt'라고 짧게 부를게! now = dt.datetime.now() print(f"현재 시간은 {now}입니다.") # 예시 출력: 현재 시간은 2026-05-23 14:32:01.123456입니다. # 날짜만 보기 좋게 포맷하기 today = dt.date.today() print(f"오늘은 {today.strftime('%Y년 %m월 %d일')}입니다.") # 오늘은 2026년 05월 23일입니다.
별명은 내가 원하는 아무 단어나 써도 되지만, 팀에서 함께 쓰는 코드라면 업계 관례를 따르는 것이 좋습니다.
나중에 배울 pandas는 반드시 pd, numpy는 반드시 np로 줄이는 것이 표준입니다.
4. 파이썬 내장 도구함 주요 모듈
파이썬을 설치하면 아래 모듈들은 별도 설치 없이 바로 사용할 수 있습니다. 마치 스마트폰을 사면 기본 앱이 설치되어 있는 것과 같습니다.
| 모듈 이름 | 역할 | 대표 함수 / 속성 |
|---|---|---|
math |
수학 계산 | ceil(), floor(), sqrt(), pi |
datetime |
날짜·시간 처리 | datetime.now(), date.today(), timedelta |
random |
난수 생성 | random(), randint(), choice(), shuffle() |
os |
운영체제·파일 경로 | getcwd(), listdir(), path.join() |
time |
시간 측정·지연 | time(), sleep() |
🎲 random 모듈 — 실용 예제
로또 번호 추첨기를 만든다면 어떨까요? random 모듈 하나면 5줄로 끝납니다.
import random numbers = list(range(1, 46)) # 1 ~ 45 숫자 목록 생성 random.shuffle(numbers) # 목록을 무작위로 섞기 lotto = numbers[:6] # 앞에서 6개 뽑기 lotto.sort() # 오름차순 정렬 print(f"이번 주 로또 번호: {lotto}") # 예시: 이번 주 로또 번호: [3, 17, 22, 31, 38, 44]
외부 라이브러리란? 파이썬 기본 내장 모듈 외에도 다른 개발자들이 만들어 공개한 도구들이 있습니다.
이런 외부 라이브러리는 pip install 패키지이름 명령어로 설치해서 사용합니다.
대표적으로 데이터 분석의 pandas, 머신러닝의 scikit-learn이 있으며, 나중에 함께 배울 예정입니다!
자주 묻는 질문 (FAQ)
Q
import math와 from math import ceil의 차이가 무엇인가요?
import math는 도구함 전체를 가져옵니다. 이후 math.ceil()처럼 도구함 이름을 앞에 붙여야 합니다.
반면 from math import ceil은 특정 함수만 꺼내와서 ceil()만으로 바로 쓸 수 있습니다.
처음에는 어떤 방식이든 괜찮지만, 입문 단계에서는 import math 방식이 코드 가독성 면에서 더 명확합니다.
Q
as 별명으로 아무 단어나 써도 되나요?
기술적으로는 가능합니다. 예를 들어 import math as 수학처럼 한글도 사용할 수 있습니다.
단, 팀 프로젝트에서는 관례적인 약어(pd, np, dt 등)를 사용하는 것이 협업 시 훨씬 이해하기 쉽습니다.
Q 내가 직접 모듈을 만들 수도 있나요?
네, 가능합니다! 내가 만든 파이썬 파일(my_tools.py)도 모듈이 됩니다.
같은 폴더 안에 있다면 import my_tools로 불러와서 사용할 수 있습니다.
프로젝트가 커지면 자주 쓰는 함수를 별도 파일로 분리하는 습관이 큰 도움이 됩니다.
Q 모듈이 너무 많아서 어떤 걸 배워야 할지 막막합니다.
처음부터 모든 모듈을 외울 필요는 없습니다! 공식 문서(docs.python.org)나 검색을 통해 필요할 때마다 찾아 쓰는 것이 프로의 방식입니다.
지금은 math, random, datetime 세 가지만 손에 익혀두세요. 나머지는 필요할 때 배워도 충분합니다.


댓글 쓰기