728x90
반응형
패키지는 점으로 구분된 모듈 이름을 사용하여 구성된 파이썬 모듈 및 하위 패키지의 모음
from MyApp.Handlers.text_handler import handle_text # 여기서 '.' 로 구분 되어 있는
단순히 보면
__init__.py
라는 특별한파일이 포함된 디렉터리 이다.__init__.py
의 존재는 해당 디렉터리가 파이썬 패키지임을 나타낸다.
실습 : 패키지 및 하위 패키지 생성
MyApp
이라는 디렉터리를 생성하여 파이썬 패키지를 만든다.MyApp
디렉터리 내부에 빈 파일인__init__.py
를 생성한다.MyApp
디렉터리 내부에Utils
와Handlers
라는 두 개의 하위 디렉터리를 생성한다.Utils
및handlers
하위 디렉터리에 각각 빈 파일인__init__.py
를 생성한다.
실습 : 모듈 작성 및 함수 구현
Utils
하위 디렉터리에string_utils.py
라는 파일을 생성한다.string_utils.py
에 다음 코드를 추가하여 문자열을 대문자로 변환하는 함수를 구현합니다.def to_upper_case(s): return s.upper()
Handlers
하위 디렉터리에text_handler.py
라는 파일을 생성한다.text_handler.py
에 다음 코드를 추가하여 문자열을 받아 대문자로 변환하고 결과를 출력하는 함수를 구현한다.from MyApp.Utils.string_utils import to_upper_case def handle_text(text): result = to_upper_case(text) print(f"변환된 텍스트: {result}")
실습 : 패키지 사용
패키지와 모듈을 가져와 함수를 호출하는
main.py
파일을 생성한다.main.py
에 다음 코드를 추가하여MyApp.Handlers.text_handler
에서handle_text
함수를 호출한다.# 파이썬 패키지 from MyApp.Handlers.text_handler import handle_text input_text = "python_basic package practice" handle_text(input_text) # 변환된 텍스트: PYTHON_BASIC PACKAGE PRACTICE
__all__
변수
패키지의
__init__.py
가__all__
이라는 리스트를 정의하는 경우,from package import *
를 사용할 때 가져올 모듈 이름의 목록으로 간주된다.예를 들어
MyApp/__init__.py
에 다음 코드를 추가할 수 있다.__all__ = ['Service', 'Common']
728x90
반응형
'Dev. > Python' 카테고리의 다른 글
Python - Mini project : Library Management System 1 (0) | 2023.07.19 |
---|---|
Python - 배열 (1) | 2023.06.13 |
Python - 클래스 상속 (Inheritance) (0) | 2023.06.12 |
Python - 함수 : 작동원리, return, 기본값, 가변, 키워드 (0) | 2023.06.11 |
Python - Generator (0) | 2023.06.10 |
댓글