[Python] __init__
init.py란?
- __init__.py 파일은 해당 디렉토리가 패키지의 일부임을 알려주는 역할을 한다. - 또한 패키지를 초기화 하는 역할을 함 - 디렉토리에 __init__.py 파일이 없다면, 패키지로 인식되지 않을 수도 있다. - import 할 때 경로의 길이를 줄여준다
-
package를 import하면 자동으로
__init__.py
파일을 불러오기 때문에, 만약__init__.py
안에 패키지 내 다른 모듈을 미리 import 하면,__main__.py
에서 다른 모듈들을 import하지 않아도 된다. -
디렉토리가
import .from *
문 형식으로 가져와 질 때, 내보내지는 것을 정의하기 위해,__init__.py
파일에__all__
목록을 넣어서 사용할 수 있다.
이 패키지 이름에 사용될 때, 자동으로 가져와야 하는 하위 모듈 이름의 목록으로 간주한다.
(import
될 때 꼭 먼저 실행되어야 하는 코드들을 관리)
import
할 요소들을 string으로 list에 선언
# __init__.py
from .m1 import func1
from .m2 import class2
__all__ = ['func1', 'class2'] #list of str
# main.py
from pkg1 import *
result = class()
func1()
func2() # 패키지 안의 모듈에 있더라도, __all__ 에 정의되지 않아서 import 할 수 없다
#어떤 속성이 반영되어 있는지 알 수 있다
import module1
print(dir())
Author And Source
이 문제에 관하여([Python] __init__), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kimlilo/python-init저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)