파이썬 패키지는 모듈들을 조직화하기 위한 디렉터리 구조를 가진 파이썬 모듈들의 묶음입니다. 이를 통해 코드를 논리적으로 그룹화하고 유지보수를 쉽게 할 수 있습니다. 아래는 파이썬 패키지에 대한 자세한 내용입니다.
패키지 생성
1. 디렉터리 구조 생성
패키지는 디렉터리로 표현됩니다. 패키지 안에는 __init__.py 파일이 있어야 합니다. 이 파일은 해당 디렉터리를 패키지로 인식하게 합니다.
mypackage/
|-- __init__.py
|-- module1.py
|-- module2.py
__init__.py 파일은 비어 있어도 되지만, 패키지 초기화 코드를 포함할 수도 있습니다.
2. 모듈 생성
각 디렉터리 안에는 모듈 파일이 위치할 수 있습니다.
# module1.py
def func1():
print("Function 1")
# module2.py
def func2():
print("Function 2")
패키지 사용
1. 패키지 내 모듈 불러오기
# 다른 스크립트에서 패키지 내 모듈 불러오기
from mypackage import module1, module2
module1.func1() # 출력: Function 1
module2.func2() # 출력: Function 2
2. __init__.py를 활용한 초기화 코드
패키지의 __init__.py 파일에 초기화 코드를 추가할 수 있습니다. 이 코드는 패키지가 임포트될 때 한 번 실행됩니다.
# mypackage/__init__.py
print("Initializing mypackage")
# 다른 스크립트에서 패키지 불러오기
from mypackage import module1, module2
# 다른 스크립트에서 실행
# 출력: Initializing mypackage
# 출력: Function 1
# 출력: Function 2
3. 상대적인 패키지 및 모듈 불러오기
패키지 내부에서는 상대적인 경로를 사용하여 패키지 내의 모듈을 불러올 수 있습니다.
# module1.py
from .module2 import func2
def func1():
print("Function 1")
func2() # 다른 모듈 불러오기
4. 패키지의 서브 패키지
더 복잡한 프로젝트에서는 패키지 내부에 또 다른 서브 패키지를 생성할 수 있습니다.
mypackage/
|-- __init__.py
|-- module1.py
|-- module2.py
|-- subpackage/
| |-- __init__.py
| |-- module3.py
| |-- module4.py
이런 구조에서 패키지 또는 서브 패키지 내의 모듈을 불러올 때에는 경로를 이용하여 임포트합니다.
# 패키지 내의 모듈 불러오기
from mypackage import module1, module2
from mypackage.subpackage import module3, module4
패키지를 사용하면 코드를 논리적으로 구조화하여 모듈 간의 의존성을 관리하고 유지보수를 용이하게 할 수 있습니다.
With ChatGPT
'Python > 포스팅' 카테고리의 다른 글
파이썬 패키지 안의 함수 실행 (0) | 2023.12.03 |
---|---|
파이썬 패키지 생성 (0) | 2023.12.03 |
파이썬 다른 디렉터리에 있는 모듈을 불러오는 방법 (0) | 2023.12.03 |
파이썬 다른 파일에서 모듈 불러오기 (0) | 2023.12.03 |
파이썬 클래스나 변수 등을 포함한 모듈 (0) | 2023.12.03 |