● 패키지

https://benn.tistory.com/46 참조

패키지(packages)란 관련 있는 모듈의 집합이다.
패키지는 파이썬 모듈을 계층적(디렉터리 구조)으로 관리할 수 있게 해준다.
* 모듈 이름이 A.B라면 A는 패키지 이름이되고 B는 A패키지의 모듈이 된다.
* 파이썬에서 모듈은 하나의 파이썬 파일이다. *.py

 


 

- 패키지 만들기

※ game 패키지 예제

C:/doit/game/__init__.py
C:/doit/game/sound/__init__.py

C:/doit/game/sound/echo.py
# echo.py
def echo_test():
   print("echo")

C:/doit/game/graphic/__init__.py

C:/doit/game/graphic/render.py
# render.py
def render_test():
   print("render")

 

** 생성한 패키지를 실행하기 전 game패키지를 참조할 수 있도록 명령 프롬포트 창에서

set 명령어로 PYTHONPATH 환경 변수에 디렉토리 추가 필요


- 패키지 안의 함수 실행

1) echo 모듈을 import 해서 실행하기

echo 모듈은 echo.py 파일이다.
import game.sound.echo
game.sound.echo.echo_test()
>> echo

 

 

2) echo 모듈이 있는 디렉터리까지 from.. import 실행

from game.sound import echo
>> echo.echo_test() echo

 

 

3) echo 모듈의 echo_test 함수를 직접 import 하기

from game.sound.echo import echo_test
echo_test()
>> echo

 

※ import game을 수행하면 game 디렉터리의 __init__.py에 정의된 것만 참조 가능

** import game.sound.echo.echo_test  함수 사용 불가


● __init__.py 용도

__init__.py 파일은 해당 디렉터리가 패키지의 일부임을 알려주는 역할을 한다.
만약 gaem, sound, graphic 등 패키지에 포함된 디렉터리에 __init__.py 파일이없다면 패키지로 인식 불가하다.
** python 3.3 버전부터 __init__.py 파일이 없어도 패키지로 인식된다.

 

'Language > Python' 카테고리의 다른 글

Python - 모듈  (0) 2024.05.08
Python - 클래스  (0) 2024.05.07
Python - 프로그램의 입력과 출력  (0) 2024.05.07
Python - 파일 읽고 쓰기  (0) 2024.05.07
Python - 사용자 입/출력  (0) 2024.05.07

+ Recent posts