IT프로그램 언어/python

Python(모듈과 패키지)

필립곽 2025. 1. 25. 14:27
반응형

이번 포스팅에서는 파이썬의 모듈과 패키지에 대해 알아보겠습니다. 파이썬은 코드의 재사용성과 유지 보수를 쉽게 하기 위해 모듈과 패키지를 제공합니다. 이 글을 통해 모듈과 패키지의 개념을 이해하고, 어떻게 활용할 수 있는지 예제를 통해 배워보겠습니다.

 

1.모듈 (Module)


1.1 모듈이란?
모듈은 파이썬 코드 파일로, 함수, 클래스, 변수 등을 포함할 수 있는 파일입니다. 모듈을 사용하면 관련된 기능을 그룹화하여 관리할 수 있습니다. 예를 들어, 수학 관련 함수들을 모아 하나의 모듈로 만들 수 있습니다.

1.2 모듈 만들기
모듈을 만들기 위해서는 새로운 파이썬 파일을 생성하면 됩니다. 예를 들어, my_module.py라는 파일을 만들어보겠습니다.

[예제]
# my_module.py

def greet(name):
    return f"안녕하세요, {name}!"

PI = 3.14159


위 코드에서 greet 함수와 PI 변수를 정의했습니다. 이제 이 모듈을 다른 파일에서 사용할 수 있습니다.

1.3 모듈 사용하기
모듈을 사용하려면 import 문을 사용하여 해당 모듈을 불러옵니다. 아래는 main.py라는 파일에서 my_module을 사용하는 예제입니다.

[예제]
# main.py

import my_module

print(my_module.greet("철수"))  # 안녕하세요, 철수!
print(my_module.PI)              # 3.14159

 

2.패키지 (Package)


2.1 패키지가 무엇인가요?
패키지는 여러 모듈을 포함하는 디렉토리입니다. 패키지를 사용하면 관련된 모듈들을 그룹화하여 관리할 수 있습니다. 패키지를 정의할 때는 반드시 __init__.py라는 파일이 필요합니다. 이 파일은 패키지가 초기화될 때 실행됩니다.

2.2 패키지 만들기
새로운 디렉토리를 생성합니다. 예를 들어, my_package라는 디렉토리를 생성합니다.
그 안에 여러 모듈 파일을 생성합니다. 예를 들어, moduleA.py와 moduleB.py 파일을 생성합니다.

 

패키지를 초기화하는 __init__.py 파일을 생성합니다.
디렉토리 구조는 다음과 같습니다:

 

my_package/
    __init__.py
    moduleA.py
    moduleB.py


각 파일에 코드를 작성해보겠습니다.

moduleA.py:

# my_package/moduleA.py
def hello():
    return "Hello from Module A!"

 

moduleB.py:

# my_package/moduleB.py

def goodbye():
    return "Goodbye from Module B!"


2.3 패키지 사용하기
패키지를 사용하려면 import 문을 사용합니다. 아래는 main.py 파일에서 my_package를 사용하는 예제입니다.

# main.py
from my_package import moduleA, moduleB

print(moduleA.hello())   # Hello from Module A!
print(moduleB.goodbye()) # Goodbye from Module B!


[모듈과 패키지를 활용한 예제]
이제 모듈과 패키지를 함께 사용하는 간단한 예제를 만들어 보겠습니다.

패키지 구조:
my_package/
    __init__.py
    math_utils.py
    string_utils.py


코드 작성:

# my_package/math_utils.py
def add(a, b):
    return a + b

def subtract(a, b):
    return a - b
string_utils.py:

# my_package/string_utils.py
def concatenate(str1, str2):
    return str1 + str2

def uppercase(str):
    return str.upper()
main.py:

# main.py
from my_package import math_utils, string_utils

# 수학 연산
result_add = math_utils.add(5, 3)
result_subtract = math_utils.subtract(5, 3)

print(f"덧셈 결과: {result_add}")           # 덧셈 결과: 8
print(f"뺄셈 결과: {result_subtract}")       # 뺄셈 결과: 2

# 문자열 연산
result_concat = string_utils.concatenate("안녕하세요, ", "파이썬!")
result_upper = string_utils.uppercase("hello")

print(result_concat)                        # 안녕하세요, 파이썬!
print(f"대문자로 변환: {result_upper}")    # 대문자로 변환: HELLO

 

3. 마치며

이제 우리는 파이썬의 모듈과 패키지에 대해 알아보았습니다. 모듈은 코드 파일로, 패키지는 여러 모듈을 포함하는 디렉토리입니다. 모듈과 패키지를 사용하면 코드를 더 효율적으로 관리하고 재사용할 수 있습니다.

파이썬의 모듈과 패키지를 잘 활용하여 여러분의 코드를 더 깔끔하고 효율적으로 만들어 보세요.

반응형