1. 모듈
파이썬 인터프리터에 의해 해석되어 실행되는 코드 집합. 하나의 프로그램으로 동작할 수 있다.
import 모듈명
으로 사용할 수 있다.
.(접근지정자)를 통하여 모듈의 함수, 변수에 접근 가능.모듈명.변수명,모듈명.함수명()과 같이 사용.- 모듈을 불러올때, 모듈 코드가 전체적으로 한번 수행함.
- 모듈은 독립적인 이름공간을 갖는다.
- 모듈을 불러올 땐,
sys.path에 있는 경로들을 순서대로 검색하여 불러옴.
__name__ 변수
파이썬 프로그램을 실행할 때 모듈에서 자동적으로 만들어지는 변수 중 하나.
python test.py # 바로 실행시키면 __name__은 __main__
import test # import 해서 불러온 모듈의 __name__은 __name__이 아니다
from
from 모듈명 import 함수명
from 을 사용하여 바로 모듈 내에 바로 접근할 수 있다.
위의 코드를 실행시키면 모듈명.함수명()으로 함수를 호출하는게 아니라,
함수명() 으로 바로 호출할 수 있다.
as
import sample as sp # as를 이용해 모듈을 다른 이름으로 접근가능.
sp.sample_func()
2. 패키지
모듈의 유기적인 사용을 위해 모듈들을 모아둔 특별한 폴더.
- 패키지는 패키지로 만들 폴더에
__init__.py만 넣어주면 패키지로 인식된다. - 패키지에 속한 모듈은
패키지명.모듈명으로 접근
__init__.py
패키지의 초기화를 담당.
improt 혹은 from ~~ import ~~ 구문으로 패키지,모듈을 불러오면 import문에 명시된 모든 패키지의 __init__.py 가 실행된다.
__all__
패키지에 포함된 하위 패키지와 모듈을 불러올 때 *을 사용하면 쉽게 불러올 수 있다.
하지만 모든 이름을 불러오기 때문에 낭비가 될 수 있다.
그러므로 __all__ 을 __init__.py에 정의하여 원하는 이름만 불러오도록 할 수 있다.
from pkg import module1
from pkg import module2
__all__ = ['module1'] # 원하는 이름만
__main__.py
패키지 테스트를 위한 실행을 하게해주는 모듈.
패키지 안에 __main__.py를 넣고 패키지를 실행하면 __main__.py의 코드가 실행된다.
python -m pkg # -m 옵션을 주면 패키지 실행가능
~~~~
~~~~
~~~~ # `__main__.py`에 정의한 코드실행
Comments