패키지는 Python 모듈을 계층적으로 관리할 수 있게 해줍니다. Java의 패키지 개념과 매우 유사합니다. 패키지는 디렉토리와 파이썬 모듈로 이루어집니다. 아래는 Python 패키지로 구조화한 프로젝트의 예입니다.

디렉토리마다 존재하는 __init__.py는 특별한 용도로 사용됩니다. 이는 해당 디렉토리가 패키지임을 알려주는 역할을 하며, 패키지를 대상으로 와일드카드 import를 수행할 때 반환될 모듈을 결정하기도 합니다. 패키지의 여러 모듈들은 일반적인 모듈과 비슷한 방법으로 불러올 수 있습니다.

예를 들어 Sound/ 디렉토리의 load.py 모듈은 import Sound.load 구문으로 불러올 수 있습니다. 이 구문은 Sound/에서 __init__.py 파일을 찾고, 해당 패키지의 모든 구문을 실행한 후 load.py 모듈에 정의된 모든 요소를 Sound.load라는 네임스페이스에서 사용할 수 있게 됩니다. 일반적으로 __init__.py는 빈 파일로 남겨두는 게 일반적이며 좋은 습관입니다.

import-asfrom-import를 통해서 매우 깊은 패키지의 모듈을 불러올 수 있습니다. import very.deep.module as module이나, from very.deep import module이 이에 해당합니다.

'Python 계열 > Python 레거시 글' 카테고리의 다른 글

[Python] Comprehension  (0) 2018.07.09
[Python] PEP  (0) 2018.07.08
[Python] 모듈  (0) 2018.07.06
[Python] 사용자 정의 에러  (0) 2018.07.05
[Python] 에러 처리  (0) 2018.07.04

+ Recent posts