How import statement finds modules and packages

김한준·2021년 6월 13일
0

1. sys.modules 와 sys.path의 차이점을 서술해 주세요.

sys.module

단순한 Dictionary
Module과 package 를 찾기 위해 가장 먼저 확인하는 장소
Import 된 module 과 package를 저장

sys.path

string요소의 list 형태
module과 package 에서 검색후 마지막으로 sys.path를 찾음

2. sys 도 import 해야하는 모듈입니다. 파이썬은 sys 모듈의 위치를 어떻게 찾을 수 있을까요?

Sys.module 또는 sys.path에서 위치를 찾을 수 있음

3. Absolute path와 relative path의 차이점을 서술해 주세요.

Absolute path

  • 루트에서 시작. 해당 파일or폴더의 위치를 명시

Relative path

  • 현재위치에서 시작. 해당 파일or폴더의 위치를 명시

4. main.py에서 상대경로로 add_and_mutiply 를 임포트 했을 때 발생하는 에러를 확인하고, 다음의 파이썬 공식 문서를 참고해서 main module 에서는 패키지의 모듈을 어떻게 임포트 해야하는지 블로깅 해주세요.

Absolute path 로 import 하면 에러해결

5. add_and_multiply.py에서 multiply함수를 절대경로와 상대경로도 각각 임포트 해보고 main 모듈과 차이점을 생각해보고 결과를 출력해 보세요.

상대경로로 임포트시

절대경로로 임포트시

상대경로를 사용할때 main 모듈을 default로 사용하는 프로그램을 돌리면 에러가 발생한다.

6. init.py 파일의 역할에 대해서도 정리해서 블로깅 해주세요.

해당 디렉토리가 패키지임을 알려주는 역할

0개의 댓글