패키지는 코드의 구조화와 재사용성을 높여
기능별로 모듈을 나누고, 더 효율적으로 확장도 가능하다.
1. 패키지란?
패키지는 여러 관련된 모듈을 하나의 디렉토리로 묶은 것이다.
- 패키지는 모듈들을 관리하고, 프로젝트를 더 체계적으로 구성할 수 있게 해준다.
- 패키지 안에는 여러 개의 .py 모듈 파일이 포함될 수 있다.
2. 패키지를 사용하는 이유는?
- 코드 관리 용이: 여러 모듈을 하나의 패키지로 묶어 기능별로 코드 관리가 용이하다.
- 네임스페이스 제공: 동일한 이름의 모듈을 다른 디렉토리에서 사용할 수 있게 해줘, 이름 충돌을 방지할 수 있다.
- 재사용성: 모듈을 여러 프로젝트에서 재사용할 수 있어 개발 효율성을 높여준다.
- 확장성: 프로젝트가 커져도 패키지를 사용하면 코드의 확장이나 수정이 쉬워지고, 동시에 작업하기도 유리하다.
3. 패키지 구조
- my_package/는 패키지의 디렉토리.
- __init__.py는 해당 디렉토리가 패키지임을 알려주는 역할을 한다.
중요) 이 파일이 없으면 해당 디렉토리는 패키지로 인식되지 않는다. - module1.py, module2.py 등은 이 패키지에 포함된 모듈들이다.
- sub_package/는 또 다른 하위 패키지이다.
4. 패키지 사용 방법
패키지의 모듈을 사용하는 방법은 import와 비슷하다.
위 구조에서 module1.py의 greet() 함수를 사용하려면 다음과 같이 불러올 수 있다
- my_package 안의 module1.py 파일을 import 한다.
- module1. greet
- module1 안에 있는 greet 함수에 "라티"라는 인자를 넘겨서 호출
하위 패키지에 있는 모듈을 사용할 때는 다음과 같이 접근한다.
- my_package 안에 들어있는 sub_package 안에 module3.py 모듈 파일을 import 한다.
- module3. some_function ( )
- module3 모듈 안에 있는 some_function 함수를 호출
5. __init__.py 역할
- __init__.py 파일은 패키지의 초기화 파일로, 해당 디렉토리가 패키지임을 알려준다.
- 이 파일은 비어 있을 수도 있지만, 패키지를 초기화하거나 모듈을 미리 불러오는 등의 작업을 할 수도 있다.
만약 __init__.py 파일이 없으면?
▶ 그 디렉토리를 일반 폴더로 취급해서 모듈이나 패키지로 인식하지 않는다.
__init__.py를 넣는 이유
|
|
#. 간단한 예제
1) 패키지 디렉토리 만들기
my_package 디렉토리 안에 module1.py와 module2.py 두 개의 모듈을 만들고, __init__.py를 추가한다.
2) module1.py와 module2.py 파일 작성
module1.py |
module2.py |
3) __init__.py 파일 작성
module1과 module2를 초기화할 수 있다
4) 패키지 사용하기
이제 my_package 패키지와 그 안의 모듈을 사용할 수 있다:
정리하자면
패키지는 여러 관련된 모듈을 포함하는 디렉토리이며
더 큰 프로젝트를 효율적으로 관리할 수 있게 해준다.
'🕹️AI_ 9기 > Chapter 1 📚 4조 404' 카테고리의 다른 글
모듈과 패키지 - import, pip (💪헬스 운동과 비슷하다!) (0) | 2024.11.28 |
---|---|
4조 스터디 발표회 준비 | 파이썬 - 모듈 (1) | 2024.11.26 |