[패스트캠퍼스python] 모듈과 패키지
파이썬 인강 : 모듈과 패키지
우리가 알게 모르게 사용하고 있었던 모듈에 대해 배워보자
가장 중요한 점은 왜 패키지로 개발/배포/사용해야하는지 그 이유를 명확히 알아야 한다는 점이다.
- 모듈 : 파일 하나하나가 모듈. 독립적인 파일
- 패키지 : 모듈들을 파일형태로 관리하는 것을 패키지리고 한다
참고로
..
: 부모 디렉토리 이동.
: 현재 디렉토리 이동
아래 두가지 파일을 이용해서 모듈과 패키지에 대해 공부해보자fibonacci.py
는 피보나치수열 만드는 파일이다.
calculations.py
는 아래와같은 세가지의 함수를 가지고 있다
1. 클래스를 가져와서 사용하는 방법
클래스를 가져올 수 있다
- 일반적인 방법
1 | from pkg.fibonacci import Fibonacci #클래스명(fibonacci) |
피보나치수열이 잘 출력되었음을 알수있다.
*
을 사용한 방법
메모리를 많이 사용하기때문에 권장하지 않는 방법이지만 알아둬야한다
*
는 모든 리소스를 다 가져오는 것을 뜻한다.
터미널을 보면 피보나치 수열이 잘 나타남을 확인할 수 있다
as
사용하는 방법
권장하는 방법으로 계속 class fullname을 사용하는 것보다 가독성이 높기때문이다.
as는 Alias(엘리아스)의 약자로 별칭이란 뜻이다.
1 | from pkg.fibonacci import Fibonacci as fb |
2. 함수를 가져와서 사용하는 방법
- import + as 조합
이번에는 클래스말고 함수를 가져와 사용해보자.
클래스를 가져왔던 것과
- from + import + as 조합
권장하는 방법으로 모듈의 많은 함수들 중에서 필요한 함수만 가져와서 쓸수있다
어떠한 언어를 다루던 리소스를 낭비하지 않도록 명확히 코딩하는 것이 좋다
1 | from pkg.calculations import div as d |
3. builtins(빌트인)
1 | import builtins |
출력값이 너무 길어서 이미지파일로 준비했다
우리가 빌트인인지 모르고 사용했던 list함수, type함수등이 들어가 있는 것을 확인할 수 있다
4. __init__.py
의 필요성
용도 : 해당 디렉토리가 패키지임을 선언할 때 사용한다.
Python 2.x대를 사용하고 있다면 __init__.py
가 필수이다
Python3.x : 파일이 없어도 패키지 인식하지만 3.x보다 하위 버전 호환 위해서 생성하는 것이 안전
5. 단위테스트
독립적으로 만든 파일이 독립적으로 잘 실행되는지는 확인하기 위해서 아래 if name문을 써준다
아래 형태로 쓰도록 딱 정해놓았다.
만든함수()부분에 만들었던 함수들을 넣어 독립적으로 실행되는지 체크할 수 있다
if문이기때문에 import으로 가져온 파일에서는 출력이 안된다 GOOD!
1 | # 단위 실행(독립적으로 파일 실행) |