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

파이썬 모듈의 작동 원리, 코드 예제로 쉽게 이해하기

파이썬에는 함수, 변수 등 각종 정의(definition)를 하나의 파일에 저장해 두었다가, 스크립트나 인터프리터의 대화형 세션에서 불러와 사용할 수 있는 기능이 있습니다. 이렇게 정의를 담고 있는 파일을 모듈(module)이라고 부릅니다.

모듈에 정의된 내용은 다른 모듈로 가져올 수도 있고, 메인 모듈(최상위 레벨에서 실행되는 스크립트나 계산기 모드에서 접근 가능한 변수들의 집합)로 가져올 수도 있습니다. 즉, 한 번 작성해 둔 코드를 여러 프로그램에서 재사용할 수 있게 해주는 것이 바로 모듈입니다.

모듈 검색 과정

모듈을 임포트할 때 인터프리터는 해당 모듈 파일을 자동으로 찾아냅니다. 예를 들어 hello라는 모듈을 임포트하면, 인터프리터는 다음 순서로 파일을 검색합니다.

  1. 입력 스크립트가 위치한 디렉터리에서 hello.py 파일 탐색
  2. 찾지 못하면 환경 변수 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()는 피보나치 수열을 화면에 출력하고, fib2()는 수열을 리스트 형태로 반환합니다.

모듈 임포트하고 사용하기

터미널을 열고 cd 명령어로 위 파일이 저장된 디렉터리로 이동한 뒤, 파이썬 셸을 실행합니다. 그리고 다음 문장을 입력해 보세요.

>>> 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]

실행 결과를 보면 import fibonacci 구문으로 모듈을 성공적으로 가져왔고, 모듈이름.함수이름() 형식으로 모듈 내부의 함수를 호출하여 사용한 것을 확인할 수 있습니다.

정리

파이썬 모듈은 관련된 함수와 변수를 하나의 .py 파일에 모아 재사용성을 높여주는 핵심 개념입니다. 인터프리터는 스크립트가 있는 디렉터리와 PYTHONPATH 환경 변수를 참조해 모듈 파일을 찾으며, import 문 하나만으로 손쉽게 불러와 활용할 수 있습니다.