SW개발/Python

[Python]패키지란?

패키지란 무엇인가?

Package 는 도트(.)를 사용하여 파이썬 모듈을 계층적(디렉토리 구조)으로 관리할 수 있게 한다. 예를 들어 모듈의 이름이 A.B 라면 A는 패키지 이름, B는 A패키지의 B모듈을 뜻한다.

 

패키지 예시

example/
	__init__.py
    sound/
    	__init__.py
        echo.py
        wav.py
    grapchic/
    	__init__.py
        screen.py
        render.py
    play/
     	__init__.py
        run.py
        test.py

위의 구조에서 example, sound, graphic, play 는 디렉터리 이름이고 .py 의 확장자는 파이썬 모듈이다. example 디렉터리는 이 패키지의 루트 이름을 뜻하고, 하위에 있는 것들은 서브 디렉터리를 뜻한다.

 

구조화를 하는 이유?

프로그램의 소스코드가 많아질수록 패키지 구조를 통해 파이썬 프로그램을 만드는 것이 공동 작업, 유지 보수 면에서 유리하게 된다. 또한 패키지 구조로 모듈을 만들면 다른 모듈과 이름이 겹치는 경우에도 더 안전하게 사용할 수 있다.

 

 

__init__.py 의 용도

__init__.py 파일은 해당 디렉터리가 패키지의 일부임을 알려준다. 이 파일이 없으면 파이썬에서 패키지로 인식하지 않는다.

(Python 3.3 버전 부터는 __init__.py 파일이 존재하지 않아도 패키지로 인식한다. 하지만 하위 버전의 호환성을 위해 __init__.py 파일을 생성하는 편이 안전하다고 한다.)

 

728x90

'SW개발 > Python' 카테고리의 다른 글

[Python]all(), any() 함수란?  (0) 2021.07.26
[Python]파이썬의 언더스코어(_)에 대하여  (0) 2021.05.08
[Python]if __name__ == "__main__" 란?  (0) 2021.01.20
[Python]모듈이란?  (0) 2021.01.20
[Python]Class 는 왜 필요한가?  (2) 2021.01.19