콩딱일상

package __init__.py의 의미와 사용 본문

프로그래밍 언어/Python

package __init__.py의 의미와 사용

콩이캠퍼 2024. 1. 10. 22:58

python의 package에서 사용하는 __init__.py에 대해서 알아 봅시다.

 

python에서 package를 만들게 되면 __init__.py가 생성됩니다.

처음에는 __init__.py가 별로 필요없다고 생각하여 아무런 작업도 진행하지 않았습니다.

 

package가 import 될때 처음으로 동작하는 코드라고 합니다.

package가 import되는 처음 동작시에 1번만 호출이 되고 그 후에는 호출이 되지 않습니다.

 

실제로 cpython의 코드를 확인해 보아도 __init__.py의 내용이 작성되어 있는 경우와 작성되지 않은 경우가 존재합니다.

 

cpython에서 확인을 하면 어떠한 function들을 export하는 용도로 __init__.py에도 사용하는 것으로 보입니다.

1회성 초기화 코드 및 export 함수들도 여기에 넣고 사용할수 있습니다.

 

제가 확인한 대 다수의 library들은 별도의 function을 __init__.py를 통해서 제공하기 보다는

package의 version과 같은 정보들이 포함되어 있는것으로 보입니다.

 

__all__과 같이 사용되어 from package import * 로 선언하는 경우도 자주 있었습니다.

 

 

 

'프로그래밍 언어 > Python' 카테고리의 다른 글

List Comprehension(리스트 컴프리핸션)  (0) 2024.01.16