[ Module and Project ]
파이썬은 대부분의 라이브러리가 이미 다른 사용자에 의해서 구현되어 있다.
다른 사용자가 만든 프로그램을 쓰는 방법으로는 객체보단 모듈을 사용한다.
모듈은 하나의 패키지 안에 들어있는 어떤 대상의 부분이다.
예를 들면 레고 블록이나 자동차 부품들을 합쳐서 하나의 큰 프로그램을 만들 수 있다.
즉 모듈은 프로그램에서는 작은 프로그램의 조각으로 모듈들을 모아서 하나의 큰 프로그램을 개발할 수 있다.
프로그램을 모듈화 시키면 다른 프로그램을 사용하기 쉬워 진다.
패키지는 모듈을 모아놓은 단위로 하나의 프로그램이다. 여러 모듈들을 하나의 폴더 단위로 묶은 다음에
오픈 소스로 공개할 수 있다.
모듈 ( Module )
파이썬의 모듈은 py 파일을 의미한다. 같은 폴더에 모듈에 해당하는 py 파일과 사용하고 있는 py 파일을 저장한 후
import 문을 사용해서 모듈을 호출할 수 있다.
py 파일을 import 해주면 그 py 파일안에 있는 모든 코드들이 메모리로 로딩이 된다. 모듈안에 있는 코드에
접근하기 위해서는 [ 모듈의 이름 ].[ 모듈안에 있는 함수명 ] 등의 형태로 코드를 작성하면 된다.
from [ 모듈의 이름 ] import [ 불러올 변수 / 함수 / 클래스 이름 ]
모듈을 호출할 때는 필요한 내용만 골라서 호출할 수 있기 때문에 범위를 정할 수 있다. py 파일을 자체를
import 한다면 안에 있는 모든 코드가 import 된다. 모든 코드를 로딩하는 것을 방지하기 위해서 일부만
import 하는 것을 namespace라 한다.
# 1. Alias 설정하기 - 모듈명을 변경
import fah_converter as fah
print( fah.convert_c_to_f(22.2) )
# 2. 모듈에서 특정 함수 혹은 클래스만 호출하기
from fah_converter import convert_c_to_f
print( convert_c_to_f(22.2) )
# 3. 모듈에서 모든 함수 또는 클래스를 호출하기
from fah_converter import *
print( convert_c_to_f(22.2) )
* Built-in Modules : 파이썬이 기본 제공하는 라이브러리 ( 문자처리, 웹, 수학 등 다양한 모듈 제공 )
ex) random, time, urllib.request
패키지( package )
패키지는 하나의 대형 프로젝트를 만드는 코드의 묶음이다. 다양한 모듈들의 합, 폴더로 연결이 된다.
__init__, __main__ 등 키워드 파일명이 사용된다. 다양한 오픈 소스들이 모두 패키지로 관리된다.
패키지 내에서 다른 폴더의 모듈을 부를 때는 상대 참조로 호출한다.
from .render import render_test()
# . : 현재 디렉토리 기준
from ..sound.echo import echo_test()
# .. : 부모 디렉토리 기준
오픈 소스 라이브러리 사용하기
두 개 이상의 패키지를 같이 설치할 경우 서로 충돌이 날 수도 있다. 충돌을 방지하기 위해서는
가상 환경( Virtual Environment )를 만들어 주면 된다.
가상환경 : 내 컴퓨터의 파이썬 환경과 다른 환경을 새로 설치해주는 것 혹은 프로젝트의 목적에 맞게
새로운 파이썬 환경을 새로 만들어주는 것
파이썬 가상 환경은 프로젝트 진행 시 필요한 패키지만 설치하는 환경이다. 기본 인터프리터에 프로젝트에 맞는 종류별
패키지를 설치할 수 있고 그에 맞는 다양한 패키지 관리 도구를 사용할 수 있다.
대표적인 도구로는 virtualenv와 conda가 있음. ( 요즘에는 conda를 많이 사용 )
virtualenv + pip | conda |
가장 대표적인 가상환경 관리 도구 | 상용 가상 환경 도구 miniconda 기본 도구 |
레퍼런스 + 패키지 개수 | 설치의 용의성 Windows에서 장점 |
# conda 가상환경 설치
conda create -n my_project python=3.9
가상환경이름 파이썬버전
# conda 가상환경 실행
conda activate my_project
# conda 가상환경 비활성
conda deactivate
# conda 에서 패키지 설치
conda install [ 패키지명 ]
설치하고자 하는 패키지명
conda install matplotlib
* conda는 자동으로 컴파일된 파일을 설치해준다.
* Windows에서는 conda, linux 혹은 mac에서는 conda 또는 pip를 주로 사용한다.
* Windows에서는 컴파일된 C 라이브러리 설치 필요
* matplotlib은 대표적인 파이썬 그래프 관리 패키지이다. 엑셀과 같은 그래프들을 화면에 표시한다.
다양한 데이터 분석 도구들과 함께 사용
* tqdm은 코드를 실행하고 출력하기 까지의 얼마나 시간이 걸리는지, 앞으로 얼마나 시간이 남았는지 등의
내 상황을 확인할 수 있다.
'Python > 네이버 부스트코스 AI BASIC 코칭스터디' 카테고리의 다른 글
[ AI 코칭스터디 ] 2주차 학습 ( Python Object Oriented Programming ) (0) | 2022.01.24 |
---|---|
[ AI 코칭스터디 ] 1주차 학습 ( Python Data Structure ) (0) | 2022.01.21 |
[ AI 코칭스터디 ] 1주차 학습 ( String and advanced function concept ) (0) | 2022.01.21 |
[ AI 코칭스터디 ] 1주차 학습 ( Conditionals and Loops ) (0) | 2022.01.19 |
[ AI 코칭스터디 ] 1주차 학습 ( Function and Console I/O ) (0) | 2022.01.18 |