Module and Project
Module and Project
🔗 강의 바로가기
📖 강의 소개
이번 강의에서는 파이썬 프로젝트의 기본이 되는 모듈과 패키지, 그리고 프로젝트의 개념에 대해서 배웁니다.
우리는 앞서 파이썬에서 제공하는 여러가지 모듈들을 사용했습니다. 이러한 모듈과 패키지를 구성하고, 실제로 다른 개발자가 만든 모듈을 사용하는 방법까지 이 챕터에서 다루게 됩니다.
내용은 많이 어렵지는 않지만, 알면 여러모로 도움되는 내용이니 많은 연습을 하고 넘어가면 좋겠습니다.
파이썬은 대부분의 라이브러리가 이미 다른 사용자에 의해 이미 구현되어있다.
남이 만든 프로그램 쓰는 법 👉 모듈과 패키지
1. 모듈 Module
🔎 overview
- 어떤 대상의 부분 혹은 조각
- 프로그램에서는 작은 프로그램 조각들,
모듈들을 모아서 하나의 큰 프로그램을 개발함 - 프로그램을 모듈화 하면 다른 프로그램에서 사용하기 쉬움
ex. 카카오톡 게임을 위한 카카오톡 접속 모듈 - 패키지: 모듈을 모아 놓은 단위
1-1. 모듈
- 파이썬의
.py
파일을 의미 import
문을 통해 호출import
하면.py
파일의 모든 코드들이 메모리에 로딩된다- 단,
.py
파일이 동일 디렉토리에 있어야한다.
- 단,
1-2. namespace
- 모듈을 호출할 때 범위 정하는 방법
- 모듈 안에는 함수와 클래스 등이 존재할 수 있는데, 필요한 내용만 골라 호출이 가능하다
from
과import
키워드를 사용
- namespace 예시
- 이 중 Alias(별칭) 설정하는 방법이 제일 선호된다고 함
👉 읽기 편한 코드(언제, 어디서 나온건지 명확히 알 수 있음)
- 이 중 Alias(별칭) 설정하는 방법이 제일 선호된다고 함
1-3. Built-in Modules
파이썬이 기본적으로 제공하는 라이브러리
문자처리, 웹, 수학 등 다양한 모듈 제공
별다른 조치 없이
import
문으로 활용 가능
ex.random
: 난수,time
: 시간,urllib.request
: 웹에서 데이터를 가져올 때파이썬 모듈 검색 방법
- 구글
- 모듈을
import
한 후 구글 검색 or Help 쓰기 - 공식 문서 읽어보기
2. 패키지 Package
🔎 overview
- 하나의 대형 프로젝트를 만드는 코드의 묶음
- 다양한 모듈들의 합, 폴더로 연결됨 (모듈은 파일이었음)
__init__
,__main__
등 키워드 파일명이 사용됨- 다양한 오픈 소스들이 모두 패키지로 관리됨
2-1. 패키지 만들기
기능들을 세부적으로 나워 폴더로 만듦
각 폴더별로 필요한 모듈을 구현
1차 Test-python shell
sound
라는 패키지에서echo
라는 모듈을 호출하는 방식from sound import echo # sound에서 echo를 import 한다 echo.echo_play() # echo모듈의 echo_play() 메소드 호출
폴더 별로
__init__.py
구성하기- 현재 폴더가 패키지임을 알리는 초기화 스크립트
- 없을 경우 패키지로 간주하지 않음 (3.3+ 부터는 없어도 됨)
- 하위 폴더와 py 파일(모듈)을 모두 포함함
import
와__all__
키워드 사용
__main__.py
파일 만들기
📒[참고] package name space
패키지 내에서 다른 폴더의 모듈을 부를 때 상대 참조로 호출하느 방법
# 절대 참조
from game.graphic.render import render_test
# . 현재 디렉토리 기준
from .render import render_test
# .. 부모 디렉토리 기준
from ..sound.echo import echo_test
3. 가상환경 설치하기
🔎 overview
- 프로젝트 진행 시 필요한 패키지만 설치하는 환경
- 기본 인터프리터 + 프로젝트 종류별 패키지 설치
- ex. 웹프로젝트, 데이터분석 프로젝트 : 각각 패키지를 관리할 수 있는 기능
- 다양한 패키지 관리도구를 사용함
- virtualenv + pip : 가장 대표적인 가상환경 관리도구, 레퍼런스+패키지 개수 (pip)
- conda : 상용 가상환경 도구, miniconda 기본 도구, 설치 용이, windows에서 장점(컴파일된 C를 함께 뿌려줌), 요즘엔 conda를 더 많이 사용하는 추세
3-1. conda 가상환경
conda create -n my_project python=3.9
// my_project 라는 명칭의 가상환경으로 이동함
conda activate my_project
// 가상환경 종료
conda deactivate
// 패키지 설치
conda install 패키지명
conda install matplotlib
window에서는 conda
linux, mac에서는 conda or pip
728x90
728x90