Backend/Python

[Python] 모듈과 패키지

sangwonYoon 2023. 3. 8. 00:48

외부의 파일로부터 함수, 변수, 클래스를 가져다 써야할 때 사용되는 파이썬의 모듈과 패키지에 대해서 알아보자.


모듈

파이썬에서 모듈이란 .py 파일을 의미한다.

module은 import문을 사용해서 호출할 수 있다.

 

모듈을 직접 import하는 경우

import (모듈명) # 모듈의 전체 코드 호출
import (모듈명) as (별칭) # 모듈의 별칭 설정

모듈명.함수명() # 모듈 내 함수를 호출할 때 모듈명을 명시해야 한다.

 

모듈의 함수 또는 클래스의 범위를 지정하여 import하는 경우

from (모듈명) import (특정 함수 / 클래스) # 모듈의 특정 함수 또는 클래스만 호출
from (모듈명) import * # 모듈에서 모든 함수 또는 클래스 호

함수명() # 모듈 내 함수를 호출할 때 모듈명을 명시하지 않는다.

패키지

파이썬 모듈을 디렉토리 구조로 관리할 수 있게 해준다.

파이썬 패키지는 디렉토리와 모듈로 구성된다.

 

game 패키지 구조는 아래와 같다.

package_ex/
  game/
    __main__.py
    __init__.py
    image/
      __init__.py
      character.py
      object_type.py
    sound/
      __init__.py
      bgm.py
      echo.py
    stage/
      __init__.py
      main.py
      sub.py

 

__init__.py 파일

해당 디렉토리가 패키지의 일부임을 알려준다.

최근 파이썬 버전에서는 없어도 패키지로 동작하는데 문제가 없지만, 생성하는 것을 권장한다.

# package_ex/game/__init__.py
__all__ = ["image", "sound", "stage"]

from . import image
from . import sound
from . import stage

 

__main__.py

root 디렉토리를 실행할 때, 수행할 동작을 정의하는 파일이다.

# package_ex/game/__main__.py

if __name__ == "__main__":
	print("Hello Game")
C:\package_ex>python game
Hello Game

 

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

[Python] File Handling  (0) 2023.03.08
[Python] Exception Handling  (0) 2023.03.08
[Python] decorator  (0) 2023.03.07
[Python] closure  (0) 2023.03.07
[Python] 파이썬 class의 특징  (0) 2023.03.07