✔️ Python 중급
모듈을 import할 때, from '패키지' import *를 사용해서 모듈들을 가져와본다.
결과값 :
import *를 패키지에 적용하면 그 안에 있는 아무 모듈도 import되지 않는다.
이 것을 해결할려면, init 파일에 코드를 추가해주면된다.
all 이라는 특수변수는 import *를 했을 때, 어떤것들을 가져와야 하는지 정해주는 변수이다.
그 말은, import 전체를 가져오라고 할 때, 전체가 무엇인지 정의해준다.
가져와야 할 것들을 리스트 문자열로 지정한다.
다시 run 파일을 실행시키면...
결과값 :
그리고 특수변수 all 안에는 패키지의 모든 모듈들을 안넣어도 된다.
예 )
결과값 :
그리고 추가적으로 all은 모듈에서도 사용이 가능하다.
이건 area 모듈에 import *를 했을 때, PI와 circle만 가져오겠다는 뜻이다.
결과값 :
지금까지 우리는 패키지안에 모듈들만 있는 것을 보았다.
출처 : 코드잇
그리고 패키지안에는 모듈들만 있는게 아니라 패키지도 존재할 수 있다.
출처 : 코드잇
위의 이미지를 참고하면, 패키지안에 또 다른 패키지가 있을 때, 안에 있는 패키지를 서브패키지 (Subpackage)라고 한다.
출처 : 코드잇
우리는 mymath라는 패키지를 만들어서 기존에 있던 shapes 패키지를 넣어주고 새로운 서브패키지인 stats 패키지와 모듈들을 만들어준다.
여기서 stats 패키지는 간단한 통계 패키지이다. 안에는 average와 spread 모듈이 존재한다.
mean과 median을 구해주는 함수들이 존재한다.
데이터 범위를 구해주는 data_range 함수가 존재한다.
그러면 우리는 mymath라는 패키지를 만들고 그 안에 shapes와 stats 패키지들을 넣어준다.
프로젝트 폴더로 가서 new -> Python Package를 선택해준다.
Python Package를 생성하면 일반 디렉토리랑 약간 다른게 init 파일을 생성해준다.
그리고 mymath라는 패키지를 생성하고 shapes와 stats를 넣는다.
다음에는 서브패키지를 사용하는 방법에 대해 배울 것 이다.
끝으로 :