ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [python] 패키지
    python 2025. 6. 2. 13:23

    패키지

    Python에서 패키지(package)는 여러 개의 모듈(module)을 폴더 형태로 구조화한 것입니다.
    쉽게 말해, 관련된 .py 파일들을 정리하는 폴더라고 생각하시면 됩니다.

     

    📦 1. 패키지(Package)란?

    • Python에서는 폴더에 __init__.py 파일이 있으면 그 폴더를 '패키지'로 인식합니다.
    • 그 안에 있는 여러 .py 파일(모듈)을 하나의 묶음으로 관리할 수 있습니다.
    • 모듈은 .py 파일 하나를 의미하고, 패키지는 모듈들의 모음입니다.

    📁 예시 구조

    my_project/
    ├── main.py
    └── travel/               ← 패키지 (폴더)
        ├── __init__.py       ← 이게 있어야 '패키지'로 인식
        ├── thailand.py       ← 모듈
        └── vietnam.py        ← 모듈

     

    사용 예:

    # main.py
    import travel.thailand
    
    trip = travel.thailand.ThailandPackage()
    trip.detail()

     

    🧩 2. 용어 정리

    모듈 (module) .py 파일 하나. 함수나 클래스 모음
    패키지 (package) 모듈들이 들어있는 폴더. __init__.py가 있어야 함
    서브패키지 패키지 안에 또 다른 패키지

     

    ✅ 3. 왜 패키지를 사용할까?

     

    • 코드 관리가 쉬워짐 (기능별로 파일 나눌 수 있음)
    • 재사용 가능성이 높아짐
    • 네임스페이스 충돌 방지 (travel.thailand, travel.vietnam처럼 명확하게 구분)

     

    🔍 4. 실제 예: Python 표준 패키지

    import os        # 운영체제 관련
    import math      # 수학 함수
    import datetime  # 날짜 및 시간

     

     

    이들도 사실 모두 패키지 또는 모듈입니다.

     

    실습

     

    # 현재 구조

    C:\Users\~\Desktop\PythonWorkspace\
    ├── practice.py   ✅ ← 여기로 이동
    └── travel\
        ├── __init__.py
        ├── thailand.py
        └── vietnam.py

     

    # __init__.py

     

    빈 칸으로 작성

     

    # thailand.py

    class ThailandPackage:
        def detail(self):
            print("[태국 패키지 3박 5일] 방콕, 파타야 여행 (야시장 투어) 50만원")

     

    # vietnam.py

    class VietnamPackage:
        def detail(self):
            print("[베트남 패키지 3박 5일] 다낭 효도여행 60만원")

     

    # practice.py

    import travel.thailand
    trip_to = travel.thailand.ThailandPackage()
    trip_to.detail()

     

    [태국 패키지 3박 5일] 방콕, 파타야 여행 (야시장 투어) 50만원

     

    from travel.thailand import ThailandPackage
    trip_to = ThailandPackage()
    trip_to.detail()

     

    [태국 패키지 3박 5일] 방콕, 파타야 여행 (야시장 투어) 50만원

     

    from travel import vietnam
    trip_to = vietnam.VietnamPackage()
    trip_to.detail()

     

    [베트남 패키지 3박 5일] 다낭 효도여행 60만원

    'python' 카테고리의 다른 글

    [python] 모듈 직접 실행  (2) 2025.06.05
    [python] __all__  (1) 2025.06.05
    [python] 모듈  (0) 2025.06.02
    [python] finally  (0) 2025.05.29
    [python] 예외처리  (1) 2025.05.29
Designed by Tistory.