Python 모듈을 가져 오는 방법과 관련하여 절대적 또는 명시 적 상대 가져 오기 (예 : here)를 사용할지 여부와 관련하여 많은 질문이 제기되었습니다. Python Software Foundation에서 제안한 가져 오기 스타일은 here입니다. 즉, 절대적으로 가져올 것을 권장합니다.Python 모듈의 절대 및 상대적 가져 오기 : matplotlib 예제
저는 matplotlib을 개발 한 사람들이 자신이하는 일을 알고 있다고 가정하기 때문에이 질문을 쓰고 있습니다.
이 가정을 감안할 때 내가 수입이 이가지 사이의 주요/명백한 차이점을 이해 가정,이 같은 것을 쓸하기 matplotlib의 개발자에 영향을 그들 사이의 작은 차이를 이해에 관심이있을 것입니다 :
import matplotlib
import matplotlib.cbook as cbook
from matplotlib.cbook import mplDeprecation
from matplotlib import docstring, rcParams
from .transforms import (Bbox, IdentityTransform, TransformedBbox,
TransformedPath, Transform)
from .path import Path
matplotlib
모듈 (예 : matplotlib.artist
) 안에 포함 된 artist.py
의 시작 부분입니다. 나는 matplotlib-1.5.1을보고있다.
모듈 matplotlib.cbook
, matplotlib.transforms
및 matplotlib.path
에주의를 집중하고 싶습니다. 이 세 파일 모두 순수한 Python 모듈입니다 (예 : module_name.py
파일).
from .cbook import mplDeprecation
대신 이 선택되었고 이유는 from .path import Path
이 from matplotlib.path import Path
인 이유는 무엇입니까?
아마도 특별한 이유가 없으며 이러한 선택은 다른 개발자의 다양한 스타일을 반영합니다. 아마도 내가 빠진 것이있을 것입니다.
좋아, 나는 다른 개발자의 취향 만다고 생각해. 아마도 당신은 우리에게 당신에 대해 말할 수 있습니다 : 왜'.cbook ... '이 아닌'matplotlib.cbook ...'을 선택 했습니까? – Gioker
@Gioker 솔직히 기억이 안납니다. pep8은 절대적인 수입을 제안하며 더 명백합니다. – tacaswell