MCP - 8일차(모듈 & 패키지)

Jun·2026년 2월 14일

MCP

목록 보기
12/20

[Python] 모듈(Module)과 패키지(Package) 개념 정리

1. 모듈 (Module) 이란?

  • 정의: 함수, 변수, 클래스를 모아놓은 파이썬 파일(*.py)입니다.
  • 장점:
    • 한 번 만들어 놓으면 다른 프로그램에서 언제든 import하여 재사용 가능합니다.
    • 다른 사람이 만든 유용한 프로그램을 내 코드에 쉽게 가져다 쓸 수 있습니다.

2. 모듈 만들기 및 불러오기 (import)

A. 모듈 파일 생성 (예: mod0.py)

현재 작업 폴더에 다음과 같은 내용으로 mod0.py를 저장합니다.

    my_name = "hong"

    def my_func(*argc):
        print(argc)

    class My_class:
        def __init__(self):
            print('My_class() 생성')

B. 모듈 사용하기

import 모듈이름 형식으로 불러와서 사용합니다. 이때 모듈 안에 정의된 요소들은 모듈명.이름 형태로 접근합니다.

    import mod0

    # 모듈의 변수 사용
    print(mod0.my_name)

    # 모듈의 함수 호출
    mod0.my_func(10, 20, 30)

    # 모듈의 클래스 인스턴스 생성
    mod0.My_class()

3. 패키지 (Package) 와 모듈 경로

  • 패키지: 여러 모듈을 디렉토리 구조로 묶어 관리하는 것 (일종의 모듈 주머니).
  • 경로 접근: 점(.)을 사용하여 하위 디렉토리로 들어갑니다.

예시: 하위 폴더의 모듈 가져오기

만약 ./Mymodules/mod1.py 경로에 파일이 있다면:

    import Mymodules.mod1  # Mymodules는 패키지, mod1은 모듈

    # 사용 시 경로를 다 적어야 해서 이름이 길어짐
    Mymodules.mod1.add_num(10, 20)

4. 효율적인 import 기법 (as, from)

A. 별칭 사용하기 (as)

모듈 명칭이 너무 길거나 복잡할 때 별명을 붙여 사용합니다.

    import Mymodules.mod1 as my
    my.add_num(20, 30)

B. 특정 요소만 직접 가져오기 (from ... import)

모듈명을 생략하고 함수나 변수 이름만 바로 쓰고 싶을 때 사용합니다.

    from Mymodules.mod1 import add_num
    add_num(10, 15)  # 모듈명 없이 사용 가능

    # 여러 개를 동시에 가져올 수도 있음
    from mod0 import my_name, my_func
    print(my_name)
    my_func(1, 2, 3)

5. 파이썬 생태계의 관례적인 별칭 (Alias)

데이터 분석이나 인공지능 분야에서 관례적으로 사용하는 줄임말들입니다.

    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    import tensorflow as tf
    from tensorflow import keras
    from sklearn.model_selection import train_test_split, cross_validate

Tip: 모듈을 찾지 못할 경우(ModuleNotFoundError), 해당 파일이 현재 실행 중인 스크립트와 같은 경로에 있는지 혹은 파이썬 경로(sys.path)에 등록되어 있는지 확인해야 합니다.

profile
Hard Trying

0개의 댓글