Module: 변수나 함수 그리고 클래스 등을 모아 놓은 파일
- 다른 파일에서 재사용 가능
- 전체 코드가 한 파일에 너무 크기 때문에 여러 파일로 나누어 정리
Package: module과 마찬가지로 다른 파일을 불러와서 사용. 그러나 module 보다는 더 크고 복잡한 코드
- module을 단순한 파일, 이런 module들을 모아 둔 것이 package
- module의 코드가 너무 클 때 여러 module나누어 package을 만들면 효과적인 관리 가능
1. import
module 또는 package을 사용 할 때 import 통해 사용한다.
1) module
import <module_name>
2) package
import <packahe_name>.<module_name>
2. from < module> import < func>
모듈의 특정 함수나 변수 등을 사용하고 싶을 때 사용
- 불필요한 함수나 변수를 불러올 필요가 없다.
- 모듈에서 불러온 함수나 변수를 사용 할 때 바로 사로 사용 할 수 있다.
예) module.func()이 아닌 func()으로 바로 사용 가능
3. __init__.py의 역할
- package가 import될 때 자동으로 실행
- import 할 때 경로의 총 길이를 줄여 준다.
- package에서 import 할 수 있는 변수/함수/클래스를 제한 한다.(__ all __을 사용)
-packge가 import 되면서 __init__.py가 실행
- __init__.py에 사용할 함수의 경로가 이미 정의 되어 있어 main.py에서의 경로가 짧다.
- __all__에 func2 와 func3만 정의 되어 있기 때문에 pkg에 func4가 있어도 사용 할 수 없다.