[기초#8] 모듈과 패키지: 코드 재활용의 진짜 시작
한줄 요약:
함수나 코드를 한 번만 만들어두고,
다른 파일에서도 쓸 수 있게 하는 방법 👉 모듈(module) 과 패키지(package)
1. 모듈(Module)이란?
.py 파일 하나가 곧 모듈이에요.
즉, 다른 파이썬 파일에 불러서 쓸 수 있는 코드 묶음이에요 👇
# hello.py
def say_hello():
print("안녕하세요, 파이썬!")
이제 이 파일을 다른 코드에서 불러와 쓸 수 있어요 👇
import hello
hello.say_hello()
🪄 결과:
안녕하세요, 파이썬!
2. import의 기본 구조
| 형태 | 의미 | 예시 |
|---|---|---|
import 모듈이름 | 모듈 전체 불러오기 | import math |
from 모듈이름 import 함수명 | 특정 함수만 가져오기 | from math import sqrt |
as 별칭 | 이름을 짧게 바꾸기 | import math as m → m.sqrt(9) |
3. 예제 1: 수학 모듈 math
import math
print(math.sqrt(16)) # 제곱근
print(math.pi) # 원주율
print(math.ceil(2.3)) # 올림
print(math.floor(2.9)) # 내림
🪄 결과:
4.0
3.141592653589793
3
2
4. 예제 2: 날짜·시간 모듈 datetime
import datetime
today = datetime.date.today()
print("오늘 날짜:", today)
now = datetime.datetime.now()
print("현재 시각:", now)
🪄 결과:
오늘 날짜: 2025-10-30
현재 시각: 2025-10-30 14:05:32.123456
5. 패키지(Package)란?
여러 모듈을 폴더 단위로 묶어놓은 것이에요.
예:my_package/ ├── __init__.py ├── calculator.py └── converter.py
__init__.py 파일은
“이 폴더는 파이썬 패키지야!” 라고 알려주는 표시입니다.
6. 예제 3: 사용자 정의 패키지 만들기
1️⃣ 폴더 구조 만들기
mytools/
├── __init__.py
├── calc.py
2️⃣ calc.py에 코드 작성
def add(a, b):
return a + b
def mul(a, b):
return a * b
3️⃣ 다른 파일에서 불러오기
from mytools import calc
print(calc.add(3, 4))
print(calc.mul(2, 5))
🪄 결과:
7
10
7. 예제 4: 외부 패키지 설치 (pip)
파이썬에는 전 세계 개발자들이 만든
외부 패키지를 설치해서 쓸 수도 있어요 👇
pip install requests
설치 후 사용 예시 👇
import requests
response = requests.get("https://api.github.com")
print(response.status_code)
🪄 결과:
200
8. 자주 하는 실수
| 실수 | 예시 | 수정 |
|---|---|---|
| 모듈 이름 오타 | import maths | import math |
| 패키지 경로 오류 | from tools import calc | 폴더 구조 확인 |
| pip 설치 안 됨 | ModuleNotFoundError | pip install 패키지명 실행 |
9. 연습문제
# math 모듈을 이용해 반지름 5짜리 원의 넓이를 구해보세요.
import math
r = 5
area = math.pi * (r ** 2)
print(f"반지름 {r}cm 원의 넓이: {area:.2f}cm²")
🪄 결과:
반지름 5cm 원의 넓이: 78.54cm²
이전 강좌 👈 [기초#7] 예외 처리(try~except): 에러에도 멈추지 않기
다음 강좌 👉 [기초#9] 프로젝트 예제: 미니 계산기 만들기