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