파이썬 모듈과 패키지 완벽 정리

프로그래밍을 할 때 코드를 모듈화(Modularization) 하면 유지보수와 재사용성이 좋아집니다.
파이썬에서는 **모듈(Module)과 패키지(Package)**를 사용하여 코드를 체계적으로 관리할 수 있습니다.
이번 글에서는 파이썬의 모듈과 패키지 개념, 사용법, 그리고 활용 사례를 배워보겠습니다.
1. 모듈(Module)이란?
1.1 모듈의 개념
**모듈(Module)**은 하나의 .py 파일을 의미하며, 여러 함수와 클래스를 포함할 수 있습니다.
즉, 관련 있는 코드들을 한 파일에 정리하여 재사용할 수 있도록 만들어진 것이 모듈입니다.
1.2 모듈 생성하기
파이썬에서 모듈을 만드는 방법은 간단합니다.
- .py 파일을 생성하고
- 내부에 함수를 작성한 후
- 다른 곳에서 import 해서 사용하면 됩니다.
예제: math_utils.py (모듈 파일 만들기)
# math_utils.py
def add(a, b):
return a + b
def subtract(a, b):
return a - b
1.3 모듈 가져오기 (import)
모듈을 가져와서 사용하는 방법은 import 문을 활용하는 것입니다.
import math_utils # math_utils 모듈 가져오기
print(math_utils.add(3, 5)) # 8
print(math_utils.subtract(10, 7)) # 3
1.4 특정 함수만 가져오기 (from ... import ...)
모듈에서 특정 함수만 가져올 수도 있습니다.
from math_utils import add
print(add(4, 6)) # 10
1.5 모듈의 별칭 사용 (import ... as ...)
모듈 이름이 길면 짧은 별칭을 줄 수 있습니다.
import math_utils as mu
print(mu.add(2, 3)) # 5
2. 내장 모듈(Built-in Module)
파이썬에는 기본적으로 제공되는 모듈이 많습니다.
2.1 math 모듈 (수학 연산)
import math
print(math.sqrt(16)) # 4.0 (제곱근)
print(math.pi) # 3.141592653589793
2.2 random 모듈 (난수 생성)
import random
print(random.randint(1, 10)) # 1~10 사이의 난수
print(random.choice(['가위', '바위', '보'])) # 무작위 선택
2.3 datetime 모듈 (날짜 및 시간)
from datetime import datetime
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S")) # 현재 날짜와 시간
3. 패키지(Package)란?
3.1 패키지의 개념
**패키지(Package)**는 여러 개의 모듈을 하나의 폴더에 모아둔 것입니다.
즉, 관련된 모듈을 그룹화하여 관리하는 방식입니다.
3.2 패키지 만들기
패키지는 폴더 안에 여러 모듈 파일을 포함하며, __init__.py 파일이 필요합니다.
📁 프로젝트 구조 예시
my_package/ ← 패키지 폴더
├── __init__.py ← 패키지 초기화 파일
├── math_utils.py ← 모듈1
├── string_utils.py ← 모듈2
📌 __init__.py 파일
패키지를 인식할 수 있도록 빈 __init__.py 파일을 만들어 줍니다.
3.3 패키지 사용하기
패키지를 사용하려면 import 패키지명.모듈명 형식으로 불러옵니다.
from my_package import math_utils
print(math_utils.add(5, 7)) # 12
4. if __name__ == "__main__"의 의미
모듈을 직접 실행할 때와 다른 파일에서 import할 때의 동작을 다르게 하고 싶다면 if __name__ == "__main__"을 사용합니다.
4.1 예제: greetings.py
# greetings.py
def hello():
print("안녕하세요!")
if __name__ == "__main__":
hello() # 직접 실행할 경우에만 출력됨
실행 결과
$ python greetings.py
안녕하세요!
하지만 다른 파일에서 import 하면 실행되지 않습니다.
import greetings # hello() 함수는 실행되지 않음
5. 서드파티 모듈 사용하기 (pip)
파이썬에서는 기본 제공 모듈 외에도 **다양한 외부 라이브러리(서드파티 모듈)**를 설치하여 사용할 수 있습니다.
5.1 pip를 이용한 패키지 설치
pip install requests # 예제: requests 모듈 설치
5.2 예제: requests 모듈 사용 (웹 요청)
import requests
response = requests.get("https://www.example.com")
print(response.status_code) # 200 (정상 응답)
6. 모듈과 패키지의 활용
✅ **모듈(Module)**을 사용하면 관련된 기능을 하나의 파일에 정리할 수 있습니다.
✅ **패키지(Package)**를 사용하면 여러 개의 모듈을 그룹화하여 관리할 수 있습니다.
✅ 내장 모듈을 활용하면 추가 설치 없이 다양한 기능을 사용할 수 있습니다.
✅ if __name__ == "__main__"을 사용하면 직접 실행 여부를 확인할 수 있습니다.
✅ pip를 이용해 외부 모듈을 설치하고 활용할 수 있습니다.
7. 결론
이번 글에서는 파이썬의 모듈과 패키지 개념 및 사용법을 배웠습니다.
- 모듈이란? .py 파일로, 관련된 코드 묶음
- 모듈 가져오기: import, from ... import ..., import ... as ...
- 내장 모듈 활용: math, random, datetime 등
- 패키지란? 여러 개의 모듈을 포함하는 폴더
- 서드파티 모듈: pip install로 추가 기능 사용
다음 글에서는 파이썬에서 데이터 분석을 위한 NumPy와 Pandas 사용법을 배워보겠습니다! 🚀
'BIG DATA > PYTHON' 카테고리의 다른 글
[PYTHON] 파이썬 데이터 시각화: Matplotlib과 Seaborn 기초 (0) | 2025.02.22 |
---|---|
[PYTHON] 데이터 분석을 위한 파이썬 라이브러리: NumPy와 Pandas 기초 (0) | 2025.02.22 |
[PYTHON] 파이썬 객체 지향 프로그래밍(OOP) 완벽 정리 (0) | 2025.02.22 |
[PYTHON] 파이썬 기초: 파일 입출력과 예외 처리 완벽 정리 (0) | 2025.02.21 |
[PYTHON] 파이썬 기초: 함수(Function) 완벽 정리 (0) | 2025.02.21 |