python 패키지

패키지(Package)

  • 여러 모듈들을 한데 묶어서 정리해 놓은 구조
  • 물리적으로 여러 모듈 파일을 모아 놓은 디렉토리에 해당
    • 최상위 디렉토리 이름이 패키지 이름이 된다.
    • 최상위 디렉토리 하위에 여러 서브 디렉토리는 해당 최상위패키지의 하위 패키지가 된다.
    • 모듈=파일, 패키지=디렉토리

__init__.py의 역할

  • 디렉토리를 패키지로 인식시키는 역할
  • 서브 패키지에도 패키지와 마찬가지로 필요(없으면 단순 폴더역할)

import하기

1
import Speech
  • Speech디렉토리가 sys.path(또는 PYTHONPATH환경변수)에 열거된 폴더 중 하나에 위치해야함
  • Speech/Recognition/HMM.py코드 내용
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def train():
    print "Train"
    pass

    def loadModel():
    print "LoadModel"
    pass

    def saveModel():
    print "SaveModel"
    pass

특정 함수 사용하는 방법

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 사용불가. 패키지명에서 .으로 특정 모듈, 함수 가져와야함
import Speech
Speech.Recognition.HMM.train()

# 적절한 방법
import Speech.Recognition.HMM
Speech.Recognition.HMM.train()

from Speech.Recognition import HMM
HMM.train()

from Speech.Recognition.HMM import train
train()

# 모듈 내의 변수 전부 다 가져옴, 모듈이름 없이 사용가능
from Speech.Recognition.HMM import *
train()
loadModel()
saveModel()
Comments