[Python3] 코드 분할

Alexandria·2023년 8월 31일
0

Python3 Basic

목록 보기
15/19
post-thumbnail

1. Module

다른 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

2. Entry Point

모듈 파일이 다음과 같다고 가정합니다.

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로 설정됩니다.

profile
IT 도서관

0개의 댓글