Anaconda 2.1.0 배포본을 통해 scipy 및 numpy를 사용하고 있습니다. 나는 Spyder를 파이썬 IDE로 사용한다. 내가 import scipy as sp
을 실행하면numpy 및 Scipy 패키지의 모듈/하위 패키지 가져 오기 차이점
, 나는 import numpy as np
를 실행할 때, 내가 같은 모든 하위 패키지에 액세스 할 수 있어요, 그러나 sp.
을 통해 등 클러스터 최적화, linalg, 같은 서브 패키지를 액세스 할 수 없습니다 linalg, random, matrixlib, 다항식, 테스팅 등 np
.
두 가지 가져 오기가 다른 방식으로 작동하는 이유가 있습니까? import scipy as sp
이 모든 scipy 하위 패키지를 sp
의 네임 스페이스로 가져 오지 않는 이유는 무엇입니까?
이것은 실제로 흥미로운 질문입니다. 재미있는 점은 :'import spipy as sp'가'sp.optimize'를 입력하면 오류가 발생합니다. 그러나'scipy import optimize'에서 갑자기'sp.optimize'는 더 이상 에러를주지 않을 것입니다. 이 문제는 아나콘다와 관련이 없습니다. – cel
@cel,'scipy import optimize'를 입력하면 인터프리터가 이미 메인 패키지'scipy '를로드했음을 알게되고 이미 서브 모듈'optimize'를 가져 오기 때문에 에러가 발생하지 않게됩니다 로드 된 모듈. 식별자'sp'는 이전과 같은 모듈을 가리키고 있습니다. 이제는 'updated'입니다. 따라서 식별자를 통해 서브 모듈'optimize'에 액세스 할 수 있습니다. – gg349
@ gg349 오, 그건 의미가 있습니다 - 몰랐습니다 :) – cel