A Byte of Python
9장 모듈(Module)
Python 모듈
파이썬은 .py 확장자를 가진 파일 하나 하나가 모듈이다.
이를 묶어서 놓은게 패키지 이다.
바이트 컴파일된 .pyc 파일
모듈을 불러오는 과정이 많이 무거운 작업이기에, 파이썬은 *바이트 컴파일*시켜 컴퓨터가 빠르게 접근할 수 있도록 만들어져 있다.
from … improt 문
매번 함수를 불러오기위해 import a.b; import a.c
할 필요없이
from a import b,c
이런 식으로 편리하게 사용가능하다.
모듈 name 속성
if __name__ == '__main__': print ('This program is being run by itself') else: print ('I am being imported from another module')
모든 파이썬 모듈은 name 속성을 가지고 있다.
이러한 특징을 가지고 모듈로써 불러졌는지 main에서 실행 되는지 알 수 있다.
새로운 모듈 작성하기
파이썬 파일(.py)을 만들고 같은 폴더에서 import를 통해 사용할 수 있다.
다만, import mymodule
은 해당 파일에 있는 모든 데이터를 가져오지만,
from mymodule import *
와 같은 경우엔 __test__
와 같은 믿줄 2개로 시작하는 변수는 가져오지 않는다.
dir() 내장 함수
dir 내장 함수를 통해 객체에 정의 되어 있는 식별자들의 목록을 불러 올 수 있다.
dir(sys)
이렇게 실행하면 sys내의 있는 식별자들을 모두 보여준다.
만약 dir()
아무 문자열 없이 실행하면 현재 모듈에 선언된 식별자들을 보여준다.
패키지
만약 world 란 폴더안에 asia, africa 란 폴더를 넣는 식의 계층적으로 모듈을 관리할 수 있게 편의상 구성하는 것이다.
- <some folder present in the sys.path>/
- world/
- __init__.py
- asia/
- __init__.py
- india/
- __init__.py
- foo.py
- africa/
- __init__.py
- madagascar/
- __init__.py
- bar.py