[Python] Module

haejun-kim·2020년 6월 24일
0

[Python]

목록 보기
8/19

모듈

함수나 변수나 클래스 등을 모아놓은 파이썬 파일

왜?

코드의 양이 길어지면 길어질수록 하나하나 스크롤을 하며 코드를 읽기에는 가독성이 떨어지며 파이썬의 장점을 많이 잃게 된다. (간결함, 가독성)

사용 방법

사용 방법은 간단하다.

  • 하나의 새로운 파이썬 파일을 만든다.
  • 함수, 변수, 클래스 등 옮기고 싶은 내용의 코드들을 새로 만든 파이썬 파일에 옮긴다.
  • 메인 파이썬 파일에서 새로 만든 파이썬 파일을 import 해준다.
  • 사용한다.

저번 포스트에서 사용한 함수들을 모듈화 시켜보려고 한다.

  1. 파이썬 파일을 만든다

  2. 코드를 옮긴다.

  3. import한다.

  4. 사용한다.

사용 방법은 간단하다. 하지만 주의해야할 점이 있다.

주의사항

모듈화 시킨 함수나 클래스를 메인 파이썬 파일에서도 실행하고, 모듈화 시킨 파일에서도 실행을 시킨다면 메인 코드 동작 시 두번 실행이 된다.

# 메인 파이썬 파일
import module

fish1 = module.MarketGoods(size=20, price=500)
fish1.show()

#모듈 파이썬 파일
fish1 = MarketGoods(size=20, price=500)
fish1.show()

결과

이러한 점을 막기 위해 사용하는게 __name__ == "__main__"이다.

__name__ == "__main__"

파이썬 __name____main__으로 바꾸는 것이다. 그렇기 때문에 __name____main__인 경우에만 동작한다.

print(__name__) # ------- 1

if __name__ == "__main__":
    print(__name__) # ------- 2
    fish1 = MarketGoods(size=20, price=500)
    fish1.show()

이 상태로 동작을 메인 파이썬 파일을 동작을 시켜보면 print - 1부분의 출력은 module이 나온다.(파이썬 파일 이름이 module.py 라서)
print - 2 부분의 출력은 __main__이 나온다.
따라서 __name__이 다르기 때문에, 메인 파이썬 파일을 실행시켜도 모듈 파이썬 파일의 실행 구문이 동작하지 않는 것이다.

이 부분은 알아두면 나중에 유용하게 사용할 수 있을 것 같아서 포스팅 해놓는다.

0개의 댓글