파이썬 모듈과 패키지: 파이썬 코드 재사용과 구조화하기

"코드가 길어지고 복잡해진다면, 작은 단위로 나누어 관리하는 것이 좋습니다."

파이썬은 프로그램을 더욱 체계적으로 작성할 수 있도록
모듈(Module)패키지(Package) 기능을 제공합니다.
이를 활용하면 코드의 재사용성과 유지보수성이 크게 향상됩니다.

이번 글에서는
✔ 모듈과 패키지의 개념
✔ 직접 만들어보는 방법
✔ 표준 라이브러리 활용
까지 차근차근 살펴보겠습니다.


본론: 파이썬 모듈과 패키지 정리

1. 모듈(Module)이란?

모듈은 파이썬 코드가 들어 있는 하나의 .py 파일을 의미합니다.
관련된 함수나 클래스를 별도의 파일로 정리하여, 다른 파일에서 가져다 사용할 수 있습니다.

예시 – my_module.py

def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

 

이제 다른 파일에서 이 모듈을 가져와 사용할 수 있습니다.

사용 방법

import my_module

print(my_module.add(3, 5))     # 8
print(my_module.subtract(10, 4)) # 6

 

필요한 기능만 골라서 가져올 수도 있습니다.

from my_module import add

print(add(2, 3))  # 5

 


2. 패키지(Package)란?

패키지는 여러 모듈을 폴더(디렉터리) 형태로 묶은 것입니다.
폴더 안에 __init__.py 파일을 추가하면 파이썬은 이 폴더를 패키지로 인식합니다.
(최근 버전에서는 __init__.py 파일 없이도 패키지가 동작하지만, 관례적으로 추가하는 것이 좋습니다.)

구조 예시

my_package/
    __init__.py
    math_tools.py
    string_tools.py

 

사용 방법

import my_package.math_tools
import my_package.string_tools

 

또는 필요한 함수만 선택적으로 가져올 수도 있습니다.

from my_package.math_tools import add
from my_package.string_tools import capitalize

 


3. 모듈과 패키지 직접 만들어보기

1단계 – my_math.py 파일 생성

# my_math.py
def multiply(a, b):
    return a * b

 

2단계 – my_package 폴더 만들기

my_package/
    __init__.py
    my_math.py

 

3단계 – 다른 파일에서 가져오기

from my_package.my_math import multiply

print(multiply(3, 7))  # 21

 

이와 같이 작성하면 코드가 훨씬 명확하고 체계적으로 관리됩니다.


4. 표준 라이브러리 모듈도 활용하기

파이썬은 다양한 기능을 기본으로 제공하는 표준 라이브러리 모듈을 포함하고 있습니다.

  • math: 수학 관련 함수
  • random: 난수 생성
  • datetime: 날짜와 시간 처리
  • os: 운영체제 관련 기능

예시

import math

print(math.sqrt(16))  # 4.0

 

필요한 기능을 직접 구현하지 않고, 표준 모듈을 적극적으로 활용하는 것도 좋은 습관입니다.


결론 – 모듈과 패키지를 잘 활용하면

  • 프로그램을 작은 단위로 나눠 관리할 수 있습니다.
  • 중복되는 코드를 줄이고 재사용할 수 있습니다.
  • 유지보수와 협업이 훨씬 수월해집니다.

모듈과 패키지를 잘 활용하는 습관은,
파이썬을 보다 전문적으로 다루기 위한 중요한 첫걸음입니다.

처음에는 간단한 모듈부터 직접 만들어보면서 익숙해지는 것을 추천합니다.