본문 바로가기
Base/Python

31. 패키지(Package)의 기본

by 귀멸 2023. 7. 5.

혼공파 91강

1. 패키지 기본

# 패키지
# 모듈의 규모가 커졌을 때 그 모듈을 나누는 방법
# 모듈은 "관심사를 기반으로 함수와 변수를 나누는 것"
# 따라서 관심사의 규모가 커졌을 때 적절하게 나눠준다.

# 1. 폴더 내부에 있는 모듈을 읽어 들이는 방법
   School 폴더를 만들어 주고 그 안에 student / studentlist .py 파일로 모듈 작성
 
   Main.py 에서 위의 모듈들을 불러서 사용한다.
from school.student import Student
from school.studentlist import StudentList

sl = StudentList()
sl.append(Student(100))
sl.append(Student(80))
sl.append(Student(85))
sl.print()
 
  S  
  
# 2. 폴더 자체를 모듈로 읽어 들이는 방법
 
  폴더 자체를 읽게되면 그 안에 있는 __init__.py 파일을 읽어 오게 된다.
 
 
 

2. 모듈 상대 경로

위의 두가지를 합쳐서 __init__.py 안에 나머지 모듈들을 불러와 

main에서 school 폴더를 불러서 바로 사용하고자 한다면

__init__.py 에 모듈들을 불러와줘야하는데 이때 상대 경로를 사용하여

.student / .studentlist로 불러와줘야 사용 가능하다.


3. 모듈의 요소를 선택적으로 공개하기

main.py에서 매번 school. ~ 사용하기 귀찮으므로

from school import * 을 이용해서 바로 사용할 수 있도록 전체 모듈을 불러오게 되는데,

이 때, __init__.py에서 __all__을 이용해 모듈에서 선택적으로 요소를 공개 할 수 있다.

b 는 공개하지 않았으므로 main에서 사용할 수 없다.


4.  서브 모듈 만들기

모듈을 서브 모듈로 불러와서 사용도 가능하다. 

댓글