Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python) 모듈 개발 방법: 개념부터 실전 예제까지

파이썬 모듈이란 무엇인가?

파이썬은 함수나 변수 같은 정의를 하나의 파일에 저장해 두고, 이를 스크립트나 인터프리터의 대화형 세션에서 불러와 사용할 수 있는 구조를 제공합니다. 이렇게 정의를 담고 있는 파일을 모듈(module)이라고 부릅니다. 모듈 안에 정의된 내용은 다른 모듈로 가져오거나(import), 최상위 모듈인 메인 모듈에서 사용할 수 있습니다. 메인 모듈이란 최상위 레벨에서 실행되는 스크립트나 계산기(calculator) 모드에서 접근할 수 있는 변수들의 집합을 의미합니다.

모듈 검색 경로의 동작 원리

모듈을 임포트할 때, 예를 들어 hello라는 모듈을 가져온다고 가정해 보겠습니다. 인터프리터는 먼저 현재 실행 중인 스크립트가 위치한 디렉터리에서 hello.py라는 파일을 검색합니다. 해당 파일을 찾지 못하면 환경 변수 PYTHONPATH에 지정된 디렉터리 목록을 순서대로 탐색합니다. 따라서 모듈 파일이 어디에 있는지에 따라 임포트 성공 여부가 달라질 수 있습니다.

직접 만들어 보는 모듈: fibonacci.py

간단한 예제로 피보나치 수열 관련 함수 두 개를 담은 모듈을 만들어 보겠습니다. fibonacci.py라는 이름의 파일을 생성하고 다음 코드를 입력하세요.

def fib(n):    # n 미만까지의 피보나치 수열을 출력
    a, b = 0, 1
    while b < n:
        print(b, end=' ')
        a, b = b, a+b
    print()

def fib2(n):   # n 미만까지의 피보나치 수열을 리스트로 반환
    result = []
    a, b = 0, 1
    while b < n:
        result.append(b)
        a, b = b, a+b
    return result

이 코드에는 두 개의 함수가 정의되어 있습니다. fib(n)은 n 미만의 피보나치 수열을 화면에 출력하고, fib2(n)은 같은 수열을 리스트 형태로 반환하여 이후에 재사용할 수 있게 해줍니다.

모듈 임포트하고 실행하기

터미널을 열고 cd 명령어로 fibonacci.py 파일이 있는 디렉터리로 이동한 뒤, 파이썬 셸을 실행합니다. 그리고 다음 문장을 차례대로 입력해 보세요.

>>> import fibonacci
>>> fibonacci.fib(1000)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
>>> fibonacci.fib2(100)
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]

실행 결과 해석

fibonacci.fib(1000)을 호출하면 1000 미만의 피보나치 수들이 공백으로 구분되어 출력됩니다. 반면 fibonacci.fib2(100)은 100 미만의 피보나치 수들을 리스트 객체로 반환하기 때문에, 결과값을 변수에 저장하거나 다른 연산에 활용할 수 있다는 점이 차이입니다.

마무리 및 추가 학습 자료

이제 여러분은 모듈 파일을 직접 작성하고, 임포트하여 그 안의 함수를 호출하는 전 과정을 경험했습니다. 이것이 바로 파이썬 모듈 개발의 기본 흐름입니다. 모듈에 대해 더 깊이 알고 싶다면 파이썬 공식 문서의 모듈 튜토리얼을 참고하세요. 위 링크는 Python 2 기준 문서이므로, 최신 환경에서는 Python 3 공식 튜토리얼을 확인하는 것을 권장합니다.