상세 컨텐츠

본문 제목

[개미의 걸음 Python 28차시] 사용자 정의 모듈과 패키지 with __name__

Python

by IT개미 데이터 2020. 7. 28. 23:23

본문

728x90

사용자 정의 모듈

사용자가 직접 만들어서 사용하는 모듈

모듈은 여러 변수와 함수를 가지고 있는 집합체이므로 모듈 내부에 변수와 함수 등을 많이 넣어주면 모듈이 만들어짐

  • 먼저, 디렉터리를 만든 뒤 두개의 파이썬 파일을 저장

 

__name__

python입력창에 __name__을 입력하면 __main__ 이 출력됨 

  • 엔트리포인트 내부에서의 __name__은 __main__이다.
       → python 명령어를 사용해서 첫 진입하는 파일을 엔트리 포인트라고 부름
       → 엔트리 포인트[Entry Point]는 다른 말로 메인[Main]이라고도 함
  • 모듈은 엔트리 포인트가 아니지만 엔트리 포인트 파일 내에서 import되었기 때문에 모듈 내에서 __name__을 출력하면 모듈의 이름이 나타남
  • __name__을 사용하면, 현재 파일이 모듈로 실행되는지 엔트리 포인트로 실행되는지 확인 가능

 

 

 

패키지 만들기

패키지는 모듈이 여러 개 모인 것이므로 모듈을 하나 이상 넣으면 패키지가 만들어짐

  • 폴더를 생성한 뒤 폴더 내부에 하나 이상의 모듈을 넣음
  • 엔트리 포인트로 사용할 파이썬 파일을 실행시키고 패키지 내부의 모듈을 읽어 들임

 

__init__.py 파일

패키지를 읽을 때 어떤 처리를 수행해야 하거나 패키지 내부의 모듈들을 한꺼번에 가져오고 싶을 때 패키지 폴더 내부에 __init__py 파일을 추가

  • __init__.py에서는 __all__이라는 이름의 리스트를 만듬
  • from <패키지 이름> import *를 사용하면 __all__ 리스트에 지정한 모듈들을 모두 읽어들임
  • 파이썬 3.3이전 버전에서는 __init__.py 파일이 무조건 있어야 패키지로 작동했지만,
    이후 버전에서는 __init__.py 파일이 없어도 폴더 내부에 파이썬 파일이 들어 있지만 하면 패키지로 작동
728x90

관련글 더보기

댓글 영역