다른 Python 파일을 가져와서 사용할 수 있는 코드를 모듈(Module)이라고 하며, 변수, 함수, 클래스 등을 정의할 수 있습니다.
모듈은 Python 파일을 import
하여 사용할 수 있습니다. 이렇게 모듈화를 하면 코드를 재사용하거나 프로그램을 구조화하는 등의 이점이 있습니다.
먼저 메인 스크립트에서 불러올 모듈을 만들어 봅니다.
def sum_module(a: int, b: int) -> int:
return a + b
이후, 메인 스크립트에서 모듈을 import 한 뒤, 다음과 같이 모듈 명.함수 명
함수를 사용할 수 있습니다.
본 예제에서는 함수 명을 사용했지만 변수나 클래스 등으로도 사용이 가능합니다.
import mymodule
print(mymodule.sum_module(3,5)) # 8
혹은 다음과 같이 from
을 이용하여 mymodule에서 바로 함수를 import 할 수 있습니다.
from mymodule import sum_module
print(sum_module(3,5)) # 8
하위 디렉터리에 Python 파일들의 묶음이 존재할 때, 디렉터리 명
을 적어 불러올 수 있습니다.
from subfolder.mymodule import sum_module
print(sum_module(3,5)) # 8
모듈 파일이 다음과 같다고 가정합니다.
def sum_module(a: int, b: int) -> int:
return a + b
print(sum_module(3, 5)) # 8
해당 모듈을 import만 해도 모듈의 print가 실행이 됩니다.
해당 모듈 자체를 실행시켰을 때만 print가 되길 원한다면
if __name__ == "__main__"
을 사용하여 모듈이 import가 되더라도 print 문은 출력되지 않습니다.
def sum_module(a: int, b: int) -> int:
return a + b
if __name__ == "__main__":
print(sum_module(3, 5)) # 8
💡 mymodule.py를 실행하면 __name__이 __main__으로 설정되지만, mymodule을 import 할 때는 __name__이 mymodule로 설정됩니다.