[개발] 파이썬

2.3. 파이썬 모듈과 패키지

브랜든정 2024. 12. 27. 10:20
반응형

파이썬은 프로그래밍 언어로, 다양한 기능을 제공하는 모듈과 패키지를 통해 개발자가 효율적으로 코드를 작성할 수 있도록 돕습니다. 이 글에서는 파이썬의 표준 모듈과 사용자 정의 모듈에 대해 자세히 설명하며, 이를 통해 개발자가 자신의 프로젝트를 더 효과적으로 관리할 수 있는 방법을 제공하겠습니다.

파이썬의 표준 모듈

파이썬의 표준 모듈은 파이썬 소프트웨어 재단이 제공하는 기본적인 라이브러리입니다. 이러한 표준 모듈은 다양한 기능을 제공하며, 개발자가 바로 사용할 수 있도록 배포판과 함께 제공됩니다. 대표적인 표준 모듈에는 math, random, os 등이 있습니다.

math 모듈

math 모듈은 수학적 함수를 제공하는 모듈입니다. 대표적인 함수로는 floor, ceil, sqrt, fabs 등이 있습니다. 예를 들어, math.floor(3.14)를 사용하면 3을 반환하고, math.ceil(3.14)를 사용하면 4을 반환합니다[2].

import math
print(math.floor(3.14))  # 출력값: 3
print(math.ceil(3.14))   # 출력값: 4
print(math.sqrt(4))      # 출력값: 2
print(math.fabs(-4))     # 출력값: 4

random 모듈

random 모듈은 난수를 생성하는 모듈입니다. 대표적인 함수로는 randint, uniform, random, randrange 등이 있습니다. 예를 들어, random.randint(1, 5)를 사용하면 1부터 5까지의 임의의 정수를 반환하고, random.uniform(1, 2)를 사용하면 1부터 2까지의 임의의 실수를 반환합니다[2].

import random
print(random.randint(1, 5))  # 1부터 5까지의 임의의 정수
print(random.uniform(1, 2))  # 1부터 2까지의 임의의 실수

os 모듈

os 모듈은 운영 체제와 관련된 함수를 제공하는 모듈입니다. 대표적인 함수로는 getcwd, chdir, mkdir, rmdir 등이 있습니다. 예를 들어, os.getcwd()를 사용하면 현재 작업 디렉토리를 반환하고, os.chdir('/path/to/directory')를 사용하면 디렉토리를 변경할 수 있습니다[2].

import os
print(os.getcwd())  # 현재 작업 디렉토리
os.chdir('/path/to/directory')  # 디렉토리 변경

사용자 정의 모듈

사용자 정의 모듈은 개발자가 자신의 프로젝트에 맞게 만들 수 있는 모듈입니다. 사용자 정의 모듈을 만들기 위해서는 __init__.py 파일을 생성하고, 해당 디렉토리를 패키지로 등록하면 됩니다.

패키지 구조

패키지 구조는 다음과 같습니다.

my_package/
├── __init__.py
├── module1.py
├── module2.py
└── sub_package/
    ├── __init__.py
    ├── submodule1.py
    └── submodule2.py

__init__.py 파일은 패키지를 정의하는 파일로, 해당 디렉토리를 패키지로 인식하게 합니다. 예를 들어, my_package 디렉토리에 __init__.py 파일을 생성하면 my_package를 패키지로 인식하게 됩니다[4].

사용자 정의 모듈 만들기

사용자 정의 모듈을 만들기 위해서는 __init__.py 파일을 생성하고, 해당 디렉토리를 패키지로 등록하면 됩니다. 예를 들어, my_package 디렉토리에 __init__.py 파일을 생성하고, module1.pymodule2.py를 생성하면 다음과 같이 사용할 수 있습니다.

# my_package/__init__.py
# 빈 파일로 생성

# my_package/module1.py
def function1():
    print("Function 1")

# my_package/module2.py
def function2():
    print("Function 2")

# 사용자 정의 모듈 사용하기
import my_package.module1
import my_package.module2

my_package.module1.function1()  # Function 1
my_package.module2.function2()  # Function 2

패키지 구조와 __init__.py

__init__.py 파일은 패키지를 정의하는 파일로, 해당 디렉토리를 패키지로 인식하게 합니다. 예를 들어, my_package 디렉토리에 __init__.py 파일을 생성하면 my_package를 패키지로 인식하게 됩니다. 또한, __init__.py 파일에 import 문을 추가하여 다른 모듈을 자동으로 import 할 수 있습니다.

# my_package/__init__.py
from .module1 import function1
from .module2 import function2

def main():
    function1()
    function2()

if __name__ == "__main__":
    main()

패키지 관리

패키지 관리는 파이썬 패키지 인덱스(Python Packages Index, PyPI)에서 제공하는 도구를 사용하여 관리할 수 있습니다. PyPI는 다양한 패키지를 관리하고, 개발자가 자신의 패키지를 등록하고 공유할 수 있습니다. 예를 들어, pip를 사용하여 패키지를 설치하고, setuptools를 사용하여 패키지를 등록할 수 있습니다.

# 패키지 설치하기
pip install my_package

# 패키지 등록하기
setuptools.setup(
    name='my_package',
    version='1.0',
    packages=['my_package']
)

파이썬의 표준 모듈과 사용자 정의 모듈은 개발자가 자신의 프로젝트를 더 효과적으로 관리할 수 있는 중요한 도구입니다. 표준 모듈을 사용하면 다양한 기능을 제공받을 수 있으며, 사용자 정의 모듈을 만들면 자신의 프로젝트에 맞게 커스터마이징할 수 있습니다. 또한, 패키지 구조와 __init__.py 파일을 사용하면 패키지를 정의하고, 다른 모듈을 자동으로 import 할 수 있습니다. 마지막으로, PyPI를 사용하여 패키지를 관리하면 개발자가 자신의 패키지를 등록하고 공유할 수 있습니다.

이 글을 통해 개발자가 파이썬의 표준 모듈과 사용자 정의 모듈을 효과적으로 사용할 수 있는 방법을 배울 수 있습니다. 또한, 패키지 구조와 __init__.py 파일을 사용하여 패키지를 정의하고, PyPI를 사용하여 패키지를 관리하는 방법을 배울 수 있습니다.

반응형

'[개발] 파이썬' 카테고리의 다른 글

3.2. 파이썬 클래스 심화  (0) 2024.12.27
3.1. 파이썬 클래스와 객체  (0) 2024.12.27
2.2. 함수 심화  (0) 2024.12.27
2.1. 함수 기초  (0) 2024.12.27
1.4. 데이터 구조  (0) 2024.12.27