혼공파 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. 서브 모듈 만들기
모듈을 서브 모듈로 불러와서 사용도 가능하다.
'Base > Python' 카테고리의 다른 글
32. 외부 모듈(라이브러리) - Beautifulsoup, flask (0) | 2023.07.07 |
---|---|
30. 모듈 만들기 (0) | 2023.07.05 |
29. 모듈 기본 문법 및 기본 내장 모듈 (0) | 2023.07.01 |
28. 컴포지션으로 스택(Stack)과 큐(Queue) 구현 (0) | 2023.06.30 |
27. 상속(Inheritance)과 컴포지션(Composition) (0) | 2023.06.30 |
댓글