본문 바로가기

Script/Python

18. Package

 
파이썬의 패키지
 
- 여러개의 모듈을 하나로 묶은 것을 패키지라고 한다.
 
- 파이썬의 패키지는 모듈 이름에 . 을 붙여서 파이썬의 모듈 이름공간을 구조화하는 방법중 하나다.
 
- 보통 디렉터리에 아래와 같은 구조로 만들며 자바의 패키지와 동일하다.
 
- __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