We are Architect

19. 점프 투 파이썬 (패키지) 본문

Programing/Python

19. 점프 투 파이썬 (패키지)

the best infra 2024. 11. 14. 17:41

 

* 패키지란?

- 패키지란 모듈의 집합을 이야기함. 패키지는 파이썬 모듈울 계층적으로 관리하게 함.

 

 

* 패키지 예제

- 밑에 처럼 설정을 하여준다. 

다음과 같이 파일을 만들어준다.

 

 

* 패키지 안에 함수 실행

- 위에 설정을 기반으로 이번 글은 진행이 된다. 

환경변수로 모듈 가져올수 있는지 확인
이런 방법도 가능
이런 방법은 불가능
이런 방법도 불가능

 

 

* __init__.py의 용도

- __init__.py 파일은 해당 디렉터리가 패키지의 일부임을 알려 주는 역할을 함.

- 만약 game, sound, graphic 등 패키지에 포함된 디렉터리에 __init__.py 파일이 없다면 패키지로 인식되지 않는다. 

 

 

* 패키지 변수 및 함수 정의 

- 패키지 수준에서 변수와 함수를 정의 가능. 

- 예를 들어 game 패키지의 __init__.py 파일에 공통 변수나 함수를 정의할 수 있다. 

 

 

* 패키지 내 모듈을 미리 import

- __init__.py 파일에 패키지 내의 다른 모듈을 미리 import 하여 패키지를 사용하는 코드에서 간편하게 접근할 수 있게 한다.  

 

 

* 패키지 초기화 

- __init__.py 파일에 패키지를 처음 불러올 때 실행되어야 하는 코드를 작성할 수 있다. 예를 들어 데이터베이스 연결이나 설정 파일 로드와 같은 작업을 수행할 수 있다.  

- 그러나 초기화 코드는 한 번 실행된 후 다시 수행되지 않음.

 

 

* __all__.py 

- sound 디렉터리에서 * 를 사용하여 import 할 경우, 이곳에 있는 모든 'echo' 모듈만 import 된다는 의미.

 

 

* relative(관계적) 패키지

- 만약 graphic 디렉터리의 render.py 모듈에서 sound 디렉터리의 echo.py 모듈을 사용하고 싶다면

render.py를 수정하면 된다.

최상위 디렉터리도 .. 표시로도 사용가능