211209 TIL

CoderS·2021년 12월 9일
0

TIL DAY 126

오늘 배운 일

✔️ Python 중급

1. 패키지란?

모듈들을 모아 놓은 디렉토리를 패키지라고 한다.

출처 : 코드잇

모듈과 패키지를 이용하면...

  • 프로그램의 구성 요소를 잘 정리할 수 있다.
  • 쉽게 재활용이 가능하다.

2. 패키지 만들기

우선 모듈을 준비한다.

Area.py (면적을 구해주는 함수)

Volume.py (부피를 구해주는 함수)

위의 두 모듈을 합쳐서 shapes라는 패키지를 만들어보겠다.

처음에 새로운 폴더를 만든다.

그리고 만들어둔 두 area와 volume 파일들을 해당 폴더로 옮긴다.

다음으로 init이라는 파일을 만들어주면된다.

shapes 폴더에서 새로운 파일을 생성해주는데...

파이썬 파일로 클릭을해서...

위에처럼 똑같이 따라 작성하면된다!

그러면 완성!!!

3. 패키지 사용하기

만들어둔 shapes 패키지를 사용해보겠다.

run.py

패키지에 있는 모듈을 불러올러면, 똑같이 import를 해주는데 대신 패키지 이름을 쓰고 점을 쓰고 원하는 모듈의 이름을 작성하면된다.

cube의 함수를 불러올러면...

전에 배웠던 모듈과 비슷하게 쓰는데 대신 패키지 이름을 먼저 작성한다!

결과값 :

  • 3 x 3 x 3 = 27

다른 import 방식들...

예 ) 모듈이나 함수에 이름 바꾸기

결과값 :

  • 똑같이 출력이된다.
    위의 코드에서 shapes.volume => vol으로 바뀌어서 밑에 vol.cube( )을 사용하면된다.

예 ) from을 사용해서 함수 가져오기

결과값 :

  • 정사각형의 면적의 함수를 불러와서 3 x 3은 9로 출력이된다.
    이 방법을 쓰면은 print문으로 출력할 때 함수 이름만 작성하면된다.

예 ) from을 사용해서 모듈 가져오기

결과값 :

예 ) 패키지 import하기

결과값 :

  • 모듈 shapes에는 area라는 속성이 없다고 에러가 발생한다.

에러가 난 이유는
패키지를 import하면은 패키지 안에 있는 내용들은 import가 되지 않는다.
패키지 안에 있는 모듈들을 사용할려면 init 파일을 사용해야한다.

끝으로 :

  • 파이썬에서 모듈을 끝내고 패키지를 배우면서 매우 비슷한 면이 있다는 것을 실감했다.
  • 불러오는 방법도 비슷해서 아직 어렵지는 않는것 같다.
profile
하루를 의미있게 살자!

0개의 댓글