__init__.py
해당 파일은 파이썬에서 package를 만들때 필요한 파일이다.
외부에서 package를 참조하는 시점에 해당 package의 __init__.py
가 실행된다.
package directory에
__init__.py
파일이 없다면 package로 인식을 하지 못한다.
파이썬 3.3 이상에서는 인식을 하지만 하위 버전과 호환이 되도록 만드는것이 권장된다.
__init__.py
의 내용은 비어있어도 정상적으로 작동하지만 내용을 추가하여 package를 편리하게 사용할 수 있다.
.
│─── calculator
│ ├── __init__.py
│ ├── add_and_multiply.py
│ └── multiplication.py
└─── main.py
위 구조에서 calculator package를 main.py에서 사용하려 할 때,
# main.py
# absoulte path
from calculator.add_and_multiply import add_and_multiply
if __name__ == '__main__':
print(add_and_multiply(1,2))
absolute path를 이용해서 add_and_mltiply를 가져와서 사용할 수 있다.
하지만 조금 더 간단히 사용하기위해 __init__.py
파일에 코드를 추가할 수 있다.
# __init__.py
from .add_and_multiply import add_and_multiply
__all__=["add_and_multiply"]
사용되려는 package속 __init__.py
파일에 사용될 module의 경로를 입력한 후,
__all__ = ["module name"]
의 형식으로 입력을 한다.
이후에 다시 main.py
의 경로를
# main.py
from calculator import *
if __name__ == '__main__':
print(add_and_multiply(1,2))
간단한 형식으로 수정해주면 편리하게 사용할 수 있다.