티스토리 뷰

Python/Python

[Python]__init__.py에 대하여

Vagabund.Gni 2023. 8. 21. 21:59
728x90
반응형

__init__.py는 파이썬에서 일반적으로 사용되는 기능이며, 특정 프레임워크나 라이브러리에 국한되지 않는다.

 

해당 파일의 역할은 파일이 소속된 디렉토리를 패키지로 인식하게 만드는 것이며 파일은 비어있을 수도, 초기화 코드를 포함할 수도 있는데

 

도대체 패키지로 인식된다는 말이 무슨 말인지 자바와 스프링에 절어있는 내겐 쉽게 이해가 되지 않았다.

 

게다가 공부를 조금 해보아도 자바와 스프링에서는 1:1로 매칭되는 것이 없어 따로 정리하기로 했다.

 

일반 디렉토리와 패키지가 어떻게 다른지 정리하면서 기능에 대해 알아보자.

 

Directory

 

일반 디렉토리는 말 그대로 파일들을 모아 담고 있는 폴더이다.

 

외부에서 해당 디렉토리의 파일을 직접 참조하려면 전체 경로를 사용해야 하고

 

다른 파일이나 모듈에서 자동으로 찾을 수 없다.

 

Package

 

패키지는 모듈을 모아 구조로 조직화하는 것을 가리킨다.

 

여러 모듈을 묶어서 하나의 단위로 취급할 수 있게 된 것을 패키지라고 부르고,

 

패키지 내의 모듈은 다른 모듈에서 쉽게 참조할 수 있게 된다.

 

예를 들면 services 디렉토리 안에 __init__.py 파일과 my_service.py가 있다고 가정하면

 

services 디렉토리는 패키지로 취급되기 때문에, 다른 모듈에서 아래와 같이 쉽게 참조할 수 있다.

 

from services import my_service

만약 __init__.py 파일이 없어서 일반 디렉토리라면 외부에서는 다음과 같이 불러와야 한다.

from service.my_service import MyService

이렇게 간단하게 불러올 수 있다는 것 외에도 초기화를 할 수 있다는 꿀기능이 있다는데,

 

그건 파이썬으로 조금 더 개발을 진행하며 살펴봐야 할 것 같다.

 

일단 오늘은 이걸로 끝!

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함