본문 바로가기
공부노트/코딩공부

[파이썬(Python)] 모듈 및 패키지 사용하기 / 피보나치 수열 출력하기

by 세모나_semona 2020. 10. 23.
반응형

[파이썬(Python)] 모듈  및 패키지 사용하기 / 피보나치 수열 출력하기

 

먼저 파이썬에서 모듈과 패키지에 대한 용어 이해부터 시작하겠다.

 

모듈이란 파이썬의 명령어로 이루어진 파이썬 프로그램 파일(파일이름.py)로 쉽게말해 코드가 짜여지는 파일이라고 할 수 있다. 모듈에는 함수 및 데이터 변수 등 많은 것을 포함할 수 있다. 모듈을 외부에서 생성할 수 있으며 외부에서 생성할 경우 import명령어를 이용해 해당 모듈을 호출할 수 도 있다.

 

패키지란 많은 모듈들이 있을경우 효율적으로 관리하기 위한 것으로, 모듈들의 모음이라고 할 수 있다. 즉 모듈들이 모여 있는 폴더라고 생각할 수 있다.

 

패키지 및 모듈 사용의 장점

1. 프로그램 작업을 나눠 실행되므로 프로그램이 작고 간단해지며 이해하기가 쉬워진다.

2. 프로그램이 재사용 되므로 불필요하게 중복 작성되는 프로그램 코드가 줄어든다.

3. 재사용되는 프로그램은 공통 관리되므로, 유지보수가 용이하다.

4. 모듈별로 별도의 이름을 가지므로 관리가 용이하다. 

 

 

모듈과 패키지를 사용하기 위해서는 우선 사용하고 싶은 폴더를 만들어야 한다.

나는 위와같이 pkg라고 폴더를 만들었다.

 

그 안에 피보나치 수열을 출력하기 위한 클래스를 만들었다.

그 외에도 calculationsprints 라는 파일을 만들어 그 안에는 클래스가 아닌 함수를 만들어 두었다.

 

calculations 파일 안에는 간단하게 더하기, 곱하기, 나누기의 함수들을 정의해 두었다.

 

prints 파일 안에는 더 간단한 함수들을 정의해 두었다.

 

우선 첫번째 클래스를 사용하는 방법이다.

먼저 from 으로 폴더와 파일 이름을 불러온다. 

그리고는 import로 클래스 이름을 불러온다.

그 다음에 Fibonacci 클래스를 사용하여 코드를 짜면 현재 파일에는 클래스 선언이 안되있지만 패키지에서 모듈을 불러왔으므로 에러 없이 사용됨을 알 수 있다.

 

사용2 방법은 권장되지 않지만 import * 로 불러올 수 도 있다

지금은 fibonacci 파일에 한 개의 클래스만 선언되어있지만 만약 여러개가 선언되어있었다면 import *를 쓴다면 사용하지 않는 클래스까지 모두 임포트하기때문에 메모리가 많이 차지가 된다. 그러므로 권장되지 않는 방법이다.

 

사용3 방법은 권장되는 방법으로 from pkg.fibonacci import Fibonacci 뒤에 as fb를 붙임으로써 긴 클래스 이름을 fb로 대체할 수 있는 방법이다. 

이렇게 외부호출을 사용하여도 피보나치 수열이 잘 출력됨을 확인 할 수 있다.

 

그 다음에는 함수를 임포트해서 사용하는 방법으로 클래스를 불러오는 것과 큰 차이는 없다. 

import 폴더.파일이름 으로 선언할 수 있으며 이 역시 파일 전체를 부르기 보다는 필요한 함수만 가져오는 것이 효율적이다. 그러므로 사용5 와 같이 사용하는 것을 권장한다.

 

클래스 권장: from 폴더.파일 import 클래스이름 as 간단한 이름

함수 권장: from 폴더.파일 import 함수이름 as 간단한 이름

 


(참고 내용)

위에 pkg 폴더를 보면 __init__.py 모듈을 만들어 둔 것을 확인할 수 있다.

이 파일은 빈파일로 용도는 해당 디렉토리가 패키지임을 선언하는 용도이다.

파이선 2 버전에서는 패키지를 사용하기위해서는 필수였으며 파이썬 3.x 버전부터는 필수는 아니게 되었다. 

하위호환을 위해서 생성하는 것을 추천하기도 한다. 

반응형

댓글