파이썬의 패키지
- 여러개의 모듈을 하나로 묶은 것을 패키지라고 한다.
- 파이썬의 패키지는 모듈 이름에 . 을 붙여서 파이썬의 모듈 이름공간을 구조화하는 방법중 하나다.
- 보통 디렉터리에 아래와 같은 구조로 만들며 자바의 패키지와 동일하다.
- __init__.py 파일은 해당 디렉토리가 패키지의 일부임을 알려주는 역할을 한다.
패키지 만들기
game/graphic/__init__.py
|
그냥 파일만 만들어 넣는다.
|
game/graphic/render.py
|
class RenderTest:
def __init__(self):
print ("test" )
def render_test(self):
print ("render" )
if __name__ == '__main__' :
obj = RenderTest();
obj.render_test()
|
game/
|
import graphic.render
if __name__ == '__main__' :
obj = graphic.render.RenderTest();
obj.render_test()
|
__all__ 어트리뷰트
__all__ 어트리 뷰트는 해당 폴더에서 임포트 가능한 모듈을 알려준다.
이렇게 해야 실행 모듈에서 ( import graphic ) 나 (from graphic import * ) 식으로
접근해서 코딩이 가능해진다.
game/graphic/__init__.py
|
__all__ = ['render']
|
game/graphic/render.py
|
class RenderTest:
def __init__(self):
print ("test" )
def render_test(self):
print ("render" )
if __name__ == '__main__' :
obj = RenderTest();
obj.render_test()
|
game/
|
from graphic import *
if __name__ == '__main__' :
obj = render.RenderTest();
obj.render_test()
import graphic
if __name__ == '__main__' :
obj = graphic.render.RenderTest();
obj.render_test()
|
같은 package 데이터 사용하기
relative 패키지 기능이다.
'Script > Python' 카테고리의 다른 글
17. Module (0) | 2020.01.15 |
---|---|
16. Class (0) | 2020.01.15 |
15. Generic Operation With Containers (0) | 2020.01.15 |
14. Documentation (0) | 2020.01.15 |
13. pass (0) | 2020.01.15 |