-
Python) Package와 ModuleProgramming/Python 2019. 7. 28. 01:08
TIL(Today I learned) 을 기록하는 공간입니다.
잘못된 내용 또는 부족한 내용에 대한 수정 및 지적 환영합니다.
#Package와 Module
package는 기능을 구현하는 module들의 합이라고 정의할 수 있다.
그렇다면 module은 무엇일까?
module은 어떠한 기능을 수행하기 위해 모아둔 코드 정도로 정의할 수 있겠다.
오늘은 package와 module을 어떻게 활용하는 지에 대해 기록해보고자 한다.
package는 디렉터리 생성으로 간단하게 만들 수 있다.
오늘 나는 school package를 만들고, 그 안에 student와 teacher module을 만들 것이다.
먼저 메인 작업공간 아래에 school이라는 디렉터리를 만들고, 그 안에 student module과 teacher module을 작성한다.
#school > student.py class Student: def study(self): print("학생이 공부를 합니다") #school > teacher.py class Teacher: def teach(self): print("선생님이 학생을 가르칩니다.")
메인 작업공간 하위에 있는 school을 진짜 package로 만들기 위해서는 __init__.py이 필요하다.
이 역시 main > school > 아래에 작성한다.
# school > __init__.py from .student import Student form .teacher import Teacher
__init__.py에는 이런 식으로 student 모듈에서 Student class를, teacher 모듈에서 Teacher class를 가져올 수 있도록
지정 함으로써 이 패키지에는 어떠한 모듈이 있는지 알려주는 역할을 한다.
이렇게 패키지 구성이 끝났다면 실제로 이 패키지를 어떻게 적용할 수 있는지를 살펴보자
메인 작업공간에 새로운 파일을 생성하여 이에 대한 적용 방식을 알아보자.
#main > main.py from school from * #from school from student #from school from teacher #*대신에 따로 불리해서 쓸 수 있다. student = Student() teacher = Teacher() student.study() teacher.teach() #출력>> 학생이 공부를 합니다. #출력>> 선생님이 학생을 가르칩니다.
이 파일에서는 실제로 Student Class, Teacher Class를 선언하지 않았지만,
Student Class와 Teacher Class를 담고있는 School Package를 import함으로써
Student, Teacher Class에 접근할 수 있게 되었다.
이처럼 package를 이용하면 공동 작업 또는 유지보수 및 생산성 향상 등 여러 부분에서 편리함을 준다!
'Programming > Python' 카테고리의 다른 글
Python) Python의 예외처리 (0) 2019.07.31