Python
[개미의 걸음 Python 28차시] 사용자 정의 모듈과 패키지 with __name__
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