🔥 사용자 정의 모듈 생성과 활용

635자
9분

파이썬은 기본적으로 다양한 내장 모듈과 패키지를 제공하지만 때로는 프로젝트에 특화된 모듈을 직접 만들어야 할 필요가 있습니다. 이 장에서는 사용자 정의 모듈을 어떻게 생성하고 활용할 수 있는지에 대해 자세히 설명하겠습니다. 각 섹션은 다양한 예제와 함께 제공되며, 파이썬을 사용하여 사용자 정의 모듈을 만들고 활용하는 방법을 알려드립니다.

사용자 정의 모듈이란?

사용자 정의 모듈은 개발자가 직접 작성한 파이썬 코드를 담고 있는 파일입니다. 이 모듈은 다른 파이썬 프로그램에서 재사용할 수 있도록 함수, 클래스, 변수 등을 포함할 수 있습니다. 이러한 모듈은 프로젝트를 구조화하고 코드의 재사용성을 높이는 데 유용합니다.

모듈 생성하기

사용자 정의 모듈을 생성하려면 다음 단계를 따를 수 있습니다.

단계 1: 모듈 파일 생성

새로운 파일을 생성하고 .py 확장자를 사용하여 모듈 파일을 만듭니다. 예를 들어, my_module.py라는 파일을 생성합니다.

단계 2: 모듈 내용 작성

모듈 파일에 함수, 클래스, 변수 등을 작성합니다. 다른 프로그램에서 사용할 수 있도록 필요한 기능을 포함시킵니다.

# my_module.py
 
def greeting(name):
    return f"안녕하세요, {name}!"
 
class Calculator:
    def add(self, a, b):
        return a + b
 
python

모듈 사용하기

사용자 정의 모듈을 다른 파이썬 프로그램에서 사용하는 방법은 다음과 같습니다.

단계 1: 모듈 가져오기

다른 프로그램에서 사용자 정의 모듈을 가져옵니다.

import my_module
 
python

단계 2: 모듈 내의 함수 또는 클래스 사용

모듈 내의 함수 또는 클래스를 사용합니다.

result = my_module.greeting("Alice")
print(result)  # 출력: "안녕하세요, Alice!"
 
calc = my_module.Calculator()
sum_result = calc.add(3, 5)
print(sum_result)  # 출력: 8
 
python

모듈의 위치와 경로

파이썬은 모듈을 가져올 때 모듈의 위치와 경로를 검색하여 해당 모듈을 찾습니다. 이해하기 위해 모듈의 위치와 경로에 대한 개념을 자세히 살펴보겠습니다.

모듈의 위치

파이썬 모듈은 여러 곳에 위치할 수 있습니다. 파이썬은 모듈을 다음 위치에서 찾습니다.

  • 현재 작업 디렉토리 (Current Working Directory)
  • 파이썬 라이브러리 경로 (Python Library Path)
  • 표준 라이브러리 경로 (Standard Library Path)

현재 작업 디렉토리는 파이썬 실행 파일이나 스크립트가 실행되는 디렉토리를 가리킵니다. 모듈이 현재 작업 디렉토리에 있는 경우, 파이썬은 해당 모듈을 바로 가져올 수 있습니다.

파이썬 라이브러리 경로는 파이썬 설치 위치에 있는 라이브러리 디렉토리를 가리킵니다. 이 경로에는 표준 라이브러리와 함께 설치된 외부 패키지와 모듈도 포함됩니다.

표준 라이브러리 경로는 파이썬 설치와 함께 제공되는 표준 라이브러리 모듈이 위치하는 디렉토리를 가리킵니다. 이 디렉토리에는 파이썬의 기본 모듈들이 저장되어 있으며, 개발자가 따로 설치할 필요 없이 사용할 수 있습니다.

모듈의 경로 검색

모듈을 가져올 때 파이썬은 모듈을 검색하는 일련의 경로를 따릅니다. 이 경로는 sys 모듈의 sys.path 변수에 저장되어 있습니다. sys.path 변수는 리스트 형태로 여러 디렉토리 경로를 포함하고 있으며, 파이썬은 이 경로를 차례대로 검색하여 모듈을 찾습니다.

예를 들어, 다음과 같은 코드를 실행하면 sys.path에 있는 경로를 확인할 수 있습니다.

import sys
print(sys.path)
 
python

모듈을 가져올 때 파이썬은 sys.path에 있는 디렉토리들을 순서대로 검색하며, 처음으로 해당 모듈을 찾으면 가져옵니다. 이러한 경로 검색 과정을 이해하면 모듈이 어떻게 찾아지는지 이해하기 쉬워집니다.

따라서 모듈을 정상적으로 가져오기 위해서는 모듈이 위치한 디렉토리가 sys.path에 포함되어 있어야 합니다. 필요에 따라 sys.path에 경로를 추가하거나 모듈을 현재 작업 디렉토리에 두어서 모듈을 올바르게 가져올 수 있습니다.

모듈의 위치와 경로를 이해하면 모듈을 효과적으로 활용하고 관리하는 데 도움이 됩니다. 모듈을 올바르게 위치시키고, 필요한 경우 경로를 조절하여 파이썬 프로젝트를 원활하게 진행할 수 있습니다.

패키지와 모듈

파이썬에서 패키지는 모듈을 조직화하고 구조화하는 방법 중 하나입니다. 패키지는 디렉토리와 하위 모듈로 구성되며, 복잡한 프로젝트를 관리하기 용이하게 합니다. 이 섹션에서는 패키지와 패키지 내의 모듈을 어떻게 작성하고 활용할 수 있는지에 대해 알아보겠습니다.

패키지의 구조

패키지는 디렉토리와 모듈로 구성됩니다. 예를 들어, 다음과 같은 패키지 구조를 가진 프로젝트를 생각해보겠습니다.

my_package/
    __init__.py
    module1.py
    module2.py
text
  • my_package: 패키지 디렉토리의 이름입니다. 이 디렉토리 안에는 모듈들이 들어갑니다.
  • __init__.py: 패키지 디렉토리를 패키지로 인식하게 하는 빈 파일입니다. 파이썬 3.3 이상에서는 이 파일이 없어도 패키지로 인식됩니다. 하지만 파이썬 2.x 버전에서는 필요합니다.
  • module1.pymodule2.py: 패키지 내의 모듈입니다.

다음 장에서 좀 더 자세히 다루겠습니다.

연습문제

  1. 새로운 사용자 정의 모듈을 생성하고, 그 모듈을 다른 파이썬 프로그램에서 사용하는 예제를 작성해보세요.
  2. 모듈 내에 클래스를 정의하고, 클래스의 메서드를 사용하는 예제를 만들어보세요.
  3. 패키지를 생성하고 그 안에 여러 모듈을 구성하여 프로젝트를 구조화하는 예제를 만들어보세요.
  4. 모듈의 위치와 경로를 확인하는 방법을 학습하고, 현재 프로젝트의 경로에서 모듈을 가져와 사용하는 예제를 작성해보세요.