[Python]패키지란?

2021. 1. 21. 15:43·SW개발/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
'SW개발/Python' 카테고리의 다른 글
  • [Python]all(), any() 함수란?
  • [Python]파이썬의 언더스코어(_)에 대하여
  • [Python]if __name__ == "__main__" 란?
  • [Python]모듈이란?
Leffe_pt
Leffe_pt
개발자로서 성장하면서 배워온 지식과 경험을 공유하는 공간입니다.
  • Leffe_pt
    Leffe's tistory
    Leffe_pt
  • 전체
    오늘
    어제
    • 분류 전체보기 (308)
      • SW개발 (304)
        • 코딩테스트 (172)
        • 개발이야기 (23)
        • IT 용어 (17)
        • Python (22)
        • Django (46)
        • Flask (2)
        • Database (2)
        • SQLAlchemy (0)
        • Javascript (5)
        • Linux, Unix (3)
        • JAVA (2)
        • Spring (10)
      • 회고 (4)
      • 사진 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    컨트리뷰터
    Contributor
    g
    배달비 공유
    배달
    django
    플레이스토어
    어플리케이션
    음식
    라이프 스타일
    오픈소스
    배공파용
    트리 #AVL #알고리즘 #자료구조
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Leffe_pt
[Python]패키지란?
상단으로

티스토리툴바