본문 바로가기
카테고리 없음

파이썬 모듈과 패키지 사용법 - 코드 재사용과 모듈화

by 혜택보관소 2024. 11. 15.

파이썬에서 모듈패키지는 코드의 재사용성과 모듈화를 높이는 데 중요한 개념입니다.

모듈을 통해 여러 파일에 걸쳐 코드를 나누고, 패키지를 사용해 관련 모듈을 체계적으로 관리할 수 있습니다.

이번 글에서는 파이썬 모듈과 패키지의 개념과 사용법을 예제를 통해 살펴보겠습니다.

파이썬 모듈과 패키지 사용법

1. 모듈(Module)이란?

모듈은 파이썬 코드가 들어 있는 파일로, 함수, 클래스, 변수 등을 포함할 수 있습니다. 하나의 파일에 코드를 저장하고 다른 파일에서 불러와 사용할 수 있어 코드의 재사용성이 높아집니다.

모듈 생성하기

파이썬 파일을 하나 생성하여 모듈로 사용할 수 있습니다. 예를 들어, calculator.py 파일을 만들고 다음과 같이 함수를 정의합니다:

# calculator.py
def add(a, b):
    return a + b

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

위 파일을 모듈로 사용해 다른 파일에서 addsubtract 함수를 호출할 수 있습니다.

모듈 불러오기

모듈을 불러오려면 import 키워드를 사용합니다. 예를 들어, calculator.py 파일을 모듈로 불러오고 함수를 사용하는 방법은 다음과 같습니다:

# main.py
import calculator

result1 = calculator.add(5, 3)
result2 = calculator.subtract(10, 7)
print(result1)  # 8
print(result2)  # 3

import calculator를 통해 calculator 모듈을 불러오고, 모듈명.함수명 형식으로 함수를 호출합니다.

모듈에서 특정 함수만 불러오기

모듈 전체가 아닌 특정 함수만 불러오려면 from 모듈명 import 함수명 형식을 사용할 수 있습니다.

from calculator import add

result = add(5, 3)
print(result)  # 8

이 경우 add 함수만 불러와 모듈명 없이 직접 호출할 수 있습니다.

2. 패키지(Package)란?

패키지는 여러 모듈을 묶은 디렉토리입니다. 모듈을 체계적으로 관리할 수 있으며, 관련된 모듈들을 한 폴더에 모아 구조화할 수 있습니다. 패키지는 디렉토리 구조로 되어 있으며, 각 디렉토리에 __init__.py 파일이 포함되어 있어야 패키지로 인식됩니다.

패키지 생성하기

아래와 같이 폴더와 파일 구조를 만들어 간단한 패키지를 생성할 수 있습니다:

my_package/
    __init__.py
    math_operations.py
    string_operations.py

여기서 math_operations.pystring_operations.py는 각각 다른 기능을 가진 모듈이며, __init__.py 파일은 패키지 초기화를 위한 파일로 패키지의 일부분으로 인식되게 합니다.

패키지에 모듈 정의하기

math_operations.py 파일에 간단한 수학 연산 함수를 정의해보겠습니다:

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

def divide(a, b):
    if b == 0:
        return "0으로 나눌 수 없습니다."
    return a / b

이제 my_package 패키지의 math_operations 모듈을 사용할 수 있습니다.

패키지 불러오기

패키지에서 모듈을 불러오려면 import 패키지명.모듈명 형식을 사용합니다:

# main.py
import my_package.math_operations

result = my_package.math_operations.multiply(6, 7)
print(result)  # 42

my_package.math_operations 모듈을 호출하고 multiply 함수를 사용하여 곱셈 결과를 출력합니다.

패키지에서 특정 함수만 불러오기

모듈 내 특정 함수만 불러오려면 from 패키지명.모듈명 import 함수명 형식을 사용할 수 있습니다.

from my_package.math_operations import divide

result = divide(10, 2)
print(result)  # 5.0

이렇게 하면 divide 함수를 모듈명 없이 바로 사용할 수 있습니다.

3. \_\_init\_\_.py 파일

__init__.py 파일은 패키지를 초기화하는 역할을 합니다. 이 파일을 사용하면 패키지 내의 특정 모듈을 기본으로 불러오거나, 패키지를 구성할 때 필요한 초기 작업을 지정할 수 있습니다.

\_\_init\_\_.py 파일 설정하기

예를 들어, my_package__init__.py 파일에서 기본적으로 math_operations 모듈을 불러오도록 설정할 수 있습니다:

# __init__.py
from .math_operations import multiply, divide

이렇게 하면 my_package를 불러올 때 multiplydivide 함수를 바로 사용할 수 있습니다.

4. 모듈과 패키지의 활용 예제

예제 1: 계산기 프로그램 만들기

지금까지 작성한 my_package 패키지와 math_operations 모듈을 활용하여 간단한 계산기 프로그램을 만들어보겠습니다.

# main.py
from my_package.math_operations import multiply, divide

a = 15
b = 3
print("곱셈:", multiply(a, b))  # 곱셈: 45
print("나눗셈:", divide(a, b))  # 나눗셈: 5.0

이 프로그램은 multiplydivide 함수를 통해 두 수의 곱셈과 나눗셈을 수행합니다.

마무리

이번 글에서는 파이썬에서 코드를 효율적으로 관리하고 재사용성을 높이는 방법인 모듈과 패키지에 대해 살펴보았습니다.

모듈과 패키지는 프로젝트를 구조화하고 필요한 기능을 쉽게 불러와 사용할 수 있게 해줍니다.

다양한 프로젝트에 모듈과 패키지를 적용해보며 코드 관리의 효율성을 경험해보세요.