프로그래밍/Python

Python 공부 노트 2. - 패키지

조대협 2013. 1. 4. 00:15

파이썬의 패키지는 디렉토리 구조를 그대로 사용함 (명시적으로 자바처럼 package라고 정의 안함)

- __init__.py    : 해당 패키지가 import될때 실행되는 스크립트
- __all__          : __init__.py내에 __all__ = ['하위패키지명',..] 식으로 정의하는데, 이는 from {package) import * 를 할때, 리턴되는 모듈 명이다. 자바처럼 import * 하면 모두가 import되는게 아니라, 예를 들어 윈도우즈의 경우 module.py 파일과 Module.py 파일을 같은 파일로 취급(대소문자를 가리지 않기 때문에), 명시적으로 import * 시 패키지내의 어떤 모듈을 -import 할지를 정해줘야 한다.
- import          : import는 import하고자 하는 module 명을 명시한다. 
- from             : 어느 패키지에서 import할지를 지정 예) from package import module 또는 import package.module

자바에 비해서 특이한건 __init__.py를 통해서 해당 패키지 로딩시에, 특정 스크립트를 수행할 수 있다는 것.. 응용할 분야가 많을듯.