Python의 라이브러리인 모듈(module)과 프로젝트(project)

1. 모듈(module)

 

하나의 작은 프로그램 조각

 

모듈들이 모여서 하나의 큰 프로그램이 된다

 

프로그램을 모듈로 잘 만들수록 다른 프로그램이 사용하기 쉽다

 

사람들이 생각하는 모든 상상이 이미 파이썬에는 다른 사람이 라이브러리로 구현해놓았다

 

모듈을 모아놓은 하나의 단위인 프로그램이 패키지(package)

 

파이썬에서 모듈은 py파일이다

 

프로그램을 py로 정한 후 다른 프로그램에서 import (파일명)으로 사용할 수 있다

 

그림1. fah_converter.py

 

fah_converter.py로 만든 py파일을 본인이 작업하고 있는 작업디렉토리에 저장

 

그림2. fah_converter 라이브러리 사용

 

import (파일명)으로 불러오고 (모듈명).(모듈 내 존재하는 함수)로 원하는 함수를 사용함

 

 

2. namespace

 

모듈 호출할 때 범위를 지정하는 방법

 

 

2-1) import 모듈명 as 별칭

 

import fah_converter as f_c: 모듈을 별칭 f_c로 간단하게

 

그림3. import (원래 모듈명) as (간단한 별칭)을 사용한 예시

 

import (원래 모듈명) as (간단한 별칭)

 

f_c라는 간단한 별칭으로 사용가능한 장점

 

어디서 나오는지 명확히 알려준다는 점에서 권장

 

 

2-2) from 모듈명 import 함수명

 

from fah_converter import convert_c_to_f로 원하는 함수만

 

그림4. from (모듈명) import (원하는 함수) 예시

 

from (모듈명) import (원하는 함수)

 

from (원래 모듈명) import (함수1), (함수2), …  원하는 함수들 호출

 

모듈명을 사용하지 않고 함수명만 사용가능한 장점

 

필요한 함수만 불러오기 때문에 사용하는 메모리 용량을 절약할 수 있음

 

 

2-3) from  모듈명 import *

 

from fah_converter import * 로 fah_converter에 존재하는 모든 함수를 호출함

 

그림5. from (원래 모듈명) import * 예시

 

from (원래 모듈명) import * 하면 모듈 내 모든 함수 호출

 

모듈명을 사용하지 않고 함수명만 사용해도 되는 장점

 

당연히 일부 함수만 사용하는 경우와 사용하는 메모리 차이가 있을 것

 

 

3. built - in modules

 

파이썬이 제공하는 기본적인 라이브러리

 

random, time, urllib.request 등 다양함

 

구글 검색 등으로 필요하면 찾아보면서 활용

 

 

4. 프로젝트

 

패키지(package)

 

하나의 대형 프로젝트를 만드는 코드 묶음

 

다양한 모듈의 합, 폴더로 연결

 

 __init__, __main__등 키워드 파일명 사용

 

sklearn 프로젝트 내 존재하는 패키지들의 모습

 

 

 

sklearn/ensemble 폴더 들어가면 존재하는 다양한 모듈들의 모습

 

 

 

 

__init__은 현재 폴더가 하나의 패키지임을 알려주는 초기화 스크립트

 

없으면 패키지 취급을 안해준다지만 요새는 작성 안해도 된다는데

 

그래도 작성은 함

 

 

 

 

sound의 echo를 부르고 싶다면?

 

from sound.echo import (echo에 존재하는 함수명)

 

현재 폴더가 sound라면  <.은 현재 폴더 기준>

 

from .echo import (echo에 존재하는 함수명)

 

root 디렉토리가 music에서 작업한다면 < ..은 root 디렉토리 기준>

 

from ..sound.echo import (echo에 존재하는 함수명)

 

TAGS.

Comments