TIL #22 Python-Module (__init__.py의 역할)

강경훈·2020년 8월 21일
0
post-thumbnail

Module: 변수나 함수 그리고 클래스 등을 모아 놓은 파일

  • 다른 파일에서 재사용 가능
  • 전체 코드가 한 파일에 너무 크기 때문에 여러 파일로 나누어 정리

Package: module과 마찬가지로 다른 파일을 불러와서 사용. 그러나 module 보다는 더 크고 복잡한 코드

  • module을 단순한 파일, 이런 module들을 모아 둔 것이 package
  • module의 코드가 너무 클 때 여러 module나누어 package을 만들면 효과적인 관리 가능

1. import

module 또는 package을 사용 할 때 import 통해 사용한다.

1) module
import <module_name>

2) package
import <packahe_name>.<module_name>

2. from < module> import < func>

모듈의 특정 함수나 변수 등을 사용하고 싶을 때 사용

  • 불필요한 함수나 변수를 불러올 필요가 없다.
  • 모듈에서 불러온 함수나 변수를 사용 할 때 바로 사로 사용 할 수 있다.
    예) module.func()이 아닌 func()으로 바로 사용 가능

3. __init__.py의 역할

  • package가 import될 때 자동으로 실행
  • import 할 때 경로의 총 길이를 줄여 준다.
  • package에서 import 할 수 있는 변수/함수/클래스를 제한 한다.(__ all __을 사용)

    -packge가 import 되면서 __init__.py가 실행
    - __init__.py에 사용할 함수의 경로가 이미 정의 되어 있어 main.py에서의 경로가 짧다.
    - __all__에 func2 와 func3만 정의 되어 있기 때문에 pkg에 func4가 있어도 사용 할 수 없다.
profile
방랑하는 개발자

0개의 댓글