# Python 공부 시리즈 9편: 모듈 & 패키지

Han·2025년 7월 24일

Python 입문 시리즈

목록 보기
10/14

Python은 모듈(module)과 패키지(package)를 통해 코드를 논리적으로 분리하고 재사용할 수 있게 해줍니다.


9.1 import, from...import...,as 키워드

import

다른 파이썬 파일(모듈)의 모든 기능을 가져올 때 사용합니다.

python

import math

print(math.sqrt(16))	#4.0
  • math 모듈 전체를 가져오며, 사용할 때는 math. 접두어가 필요합니다.

from ... import...

모듈 내 특정 함수나 클래스만 선택적으로 가져올 수 잇습니다.

python

from math import sqrt

print(sqrt(25))	#5.0
  • sqrt()를 바로 사용할 수 있습니다.

as(별칭)

모듈이나 함수 이름이 길거나 이름 충돌이 날 때 별칭(alias)을 지정합니다.

python

import numpy as np
form math import factorial as fact

print(np.array([1, 2, 3]))
print(fact(5))	# 120

9.2 모듈 검색 경로(sys.path), reload()

sys.path - 모듈을 어디서 찾는가?

Python은 모듈을 로딩할 때 여러 디렉토리를 순차적으로 탐색합니다. 이 경로들을 확인하려면 sys 모듈의 path 속성을 확인합니다.

python

import sys

for p in sys.path:
	print(p)

출력 결과에는 현재 디렉토리, 표준 라이브러리 경로, site-package 등이 포함됩니다.


모듈 수정 후 다시 불러오기 - importlib.reload()

한 번 import된 모듈은 재시작 전까지 다시 로딩되지 않음. 수정한 내용을 반영하려면 importlib.reload()

python

import my_module
import importlib

importlib.reload(my_module)
  • 주로 Jupyter Notebook이나 대화형 환경에서 유용합니다.

9.3 dir()로 네임스페이스 확인, 패키지 구조

dir(): 현재 네임스페이스의 변수 및 객체 확인

python

import math

print(dir(math))
  • 해당 모듈에 어떤 함수/클래스/변수들이 포함되어 있는지 확인할 수 있습니다.
python

x = 10
y = [1, 2, 3]

print(dir())

패키지란?

  • 여러 모듈을 포함하는 폴더 단위의 구조입니다.
  • 폴더 안에 init.py 파일이 있으면 Python은 해당 폴더를 패키지로 인식합니다.

예시 구조:
my_package/

├── init.py
├── module1.py
├── module2.py


패키지 사용법

python

# 구조: my_package/module1.py

from my_package import module1

module1.my_function()

또는 모듈 내 개별 함수만 가져올 수도 있습니다.

python

from my_package.module1 import my_function

my_function()

마무리 요약

키워드설명
import전체 모듈 가져오기
from import모듈 내 일부 요소만 가져오기
as별칭 지정
sys.path모듈 탐색 경로
reload()수정된 모듈 다시 불러오기
dir()객체/모듈에 포함된 이름 리스트 확인
패키지모듈들을 디렉토리로 구조화한 형태

마무리
이번에는 모듈&시리즈에 대해서 학습하였습니다. 다음 시리즈에서는 예외처리를 중심으로 학습해보겠습니다.

profile
개발자를 꿈꾸는 청년

0개의 댓글