(Python 4-2강) Module and Project
210804
파이썬은 대부분의 라이브러리가 이미 다른 사용자에 의해 구현되어 있다!
모듈
어떤 대상의 부분 혹은 조각을 모듈이라고 한다
프로그램에서는 작은 프로그램 조각들과 모듈들을 모아서 하나의 큰 프로그램을 개발한다
이미 파이썬 내부에도 많은 모듈이 있다
Built In Module
패키지
모듈을 모아놓은 단위, 하나의 프로그램
파이썬에서 모듈은 py 파일을 의미한다. 그리고 import문을 사용해서 module을 호출한다.
import를 할 때는 기본적으로 같은 폴더에 있어야 한다.
__pycache__ 가 뭐야?
파이썬 인터프리터가 미리 기계어로 번역한 것. 프로그램을 로딩할 때 빠르게 할 수 있도록 한다.
모듈을 호출할 때는 범위를 정할 수 있다. 일반적으로 py 파일을 import 하면 py 파일안에 모든 코드가 다 로딩이 된다.
모든 코드를 로딩하므로 시간이 걸릴 수도 있다
불러오려는 함수 또는 클래스를 매번 작성하기 힘들다.
실행되면 안되는 코드까지 실행될 수 있다
그래서 if __name__ == __main__ 을 쓰곤 한다.
이 때 사용하는 것이 namespace!
Alias 설정하기 - 모듈명을 별칭으로 쓰기
import fah_converter as fah
모듈에서 특정 함수 또는 클래스만 호출하기
from fah_converter import covert_c_to_f
모듈에서 모든 함수 또는 클래스를 호출하기
from fah_converter import *
Built-in Module
random, time, urllib.request 등이 있다.
수많은 파이썬 모듈을 어떻게 활용할까?
구글링
모듈을 import 하고 구글링 또는 Help
공식 문서
패키지
하나의 대형 프로젝트를 만드는 코드의 묶음이다. 다양한 모듈들이 모여있는 폴더 단위로 존재한다.
__init__, __main__ 등 키워드 파일명이 사용되며 다양한 오픈소스들이 패키지로 관리된다.
3.3 버전 이전에는 __init__ 파일이 있어야 패키지로 간주되었다.
지금은 없어도 되지만 많이들 쓰는 편
package namespace
package 내에서 다른 폴더의 모듈을 부를 때 상대 참조로 호출하는 방법
# 절대참조
from game.graphic.render import render_test()
# . 현재디렉토리기준
from .render import render_test()
# .. 부모 디렉토리 기준
from ..sound.echo import echo_test()
Python Virtual Environment
virtualenv + pip
가장 대표적인 가상환경 관리 도구
레퍼런스 + 패키지 개수
conda
사용 가상환경도구
miniconda 기본도구
설치가 용이해서 윈도우에서 장점을 가진다
콘다 가상환경
# 만들기
conda create -n my project python=3.8
# 호출
conda activate my_project
# 해제
conda deactivate
# 패키지 설치
conda install <패키지명>
Last updated
Was this helpful?