ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python) Package와 Module
    Programming/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
Designed by Tistory.