고려대학교 바이오의공학부 '의공학프로그래밍' 학습자료를 참고하였습니다.
파이썬에서는 script나 instance로서 사용하기 위해 .py파일 안에 정의하는 방식을 사용합니다. 이러한 파일을 모듈이라고 합니다.
모듈은 script로서 독립적으로 실행 가능하고, class의 모음이나, 변수나, 'if __name__=="__main__:"
과 같은 코드와 함께 함수로도 사용이 가능합니다.
A
라는 모듈이 import될때, Python은1) 첫째로 built-in module을 찾습니다.
2) 없으면, 변수 sys.path
에 의해 주어진 디렉토리 리스트로부터 A.py
라는 파일을 찾습니다.
3) sys.path[0]
는 input script를 포함하는 원소입니다.
4) initialization 후, python은 sys.path를 수정 가능합니다.sys.path.append ('path')
5) python이 terminate되면 sys.path
가 초기화됩니다.
__init__.py
파일은 일반 디렉토리를 패키지로 변환시켜주는 역할을 하게 됩니다. 이는 string
과 같은 일반적인 이름으로 된 디렉토리가 의도와 달리 유효한 모듈을 숨게 하는 현상을 막기 위함입니다.__init__.py
를 실행하게 됩니다.>>> import BMP_Packages
__init__.py
안에 __all__
을 정의하게 되면, import *
할때 import할 모듈들의 이름을 리스트화 할 수 있게 됩니다.__all__ = ['BMErobots', `easygui', `BMEmedia', `BMEgraphics`]