📚 STUDY/AI

인공지능(AI) 기초 다지기: Module and Project

삶감 2022. 8. 2. 12:50

Module and Project

🔗 강의 바로가기

12_module_and_project.pdf
1.11MB

📖 강의 소개

이번 강의에서는 파이썬 프로젝트의 기본이 되는 모듈과 패키지, 그리고 프로젝트의 개념에 대해서 배웁니다.

우리는 앞서 파이썬에서 제공하는 여러가지 모듈들을 사용했습니다. 이러한 모듈과 패키지를 구성하고, 실제로 다른 개발자가 만든 모듈을 사용하는 방법까지 이 챕터에서 다루게 됩니다.

내용은 많이 어렵지는 않지만, 알면 여러모로 도움되는 내용이니 많은 연습을 하고 넘어가면 좋겠습니다.



파이썬은 대부분의 라이브러리가 이미 다른 사용자에 의해 이미 구현되어있다.

남이 만든 프로그램 쓰는 법 👉 모듈과 패키지

1. 모듈 Module

🔎 overview

  • 어떤 대상의 부분 혹은 조각
  • 프로그램에서는 작은 프로그램 조각들,
    모듈들을 모아서 하나의 큰 프로그램을 개발함
  • 프로그램을 모듈화 하면 다른 프로그램에서 사용하기 쉬움
    ex. 카카오톡 게임을 위한 카카오톡 접속 모듈
  • 패키지: 모듈을 모아 놓은 단위


1-1. 모듈

  • 파이썬의 .py 파일을 의미
  • import문을 통해 호출
  • import하면 .py 파일의 모든 코드들이 메모리에 로딩된다
    • 단, .py 파일이 동일 디렉토리에 있어야한다.


1-2. namespace

  • 모듈을 호출할 때 범위 정하는 방법
  • 모듈 안에는 함수와 클래스 등이 존재할 수 있는데, 필요한 내용만 골라 호출이 가능하다
  • fromimport 키워드를 사용
  • namespace 예시
    picture 11
    • 이 중 Alias(별칭) 설정하는 방법이 제일 선호된다고 함
      👉 읽기 편한 코드(언제, 어디서 나온건지 명확히 알 수 있음)



1-3. Built-in Modules

  • 파이썬이 기본적으로 제공하는 라이브러리

  • 문자처리, 웹, 수학 등 다양한 모듈 제공

  • 별다른 조치 없이 import문으로 활용 가능
    ex. random: 난수, time: 시간, urllib.request: 웹에서 데이터를 가져올 때

  • 파이썬 모듈 검색 방법

    1. 구글
    2. 모듈을 import 한 후 구글 검색 or Help 쓰기
    3. 공식 문서 읽어보기

2. 패키지 Package

🔎 overview

  • 하나의 대형 프로젝트를 만드는 코드의 묶음
  • 다양한 모듈들의 합, 폴더로 연결됨 (모듈은 파일이었음)
  • __init__, __main__ 등 키워드 파일명이 사용됨
  • 다양한 오픈 소스들이 모두 패키지로 관리됨

2-1. 패키지 만들기

  1. 기능들을 세부적으로 나워 폴더로 만듦

  2. 각 폴더별로 필요한 모듈을 구현
    picture 12
    picture 13

  3. 1차 Test-python shell
    picture 14


    picture 16
    sound라는 패키지에서 echo라는 모듈을 호출하는 방식

     from sound import echo # sound에서 echo를 import 한다
    
     echo.echo_play() # echo모듈의 echo_play() 메소드 호출

  4. 폴더 별로 __init__.py 구성하기

    • 현재 폴더가 패키지임을 알리는 초기화 스크립트
    • 없을 경우 패키지로 간주하지 않음 (3.3+ 부터는 없어도 됨)
    • 하위 폴더와 py 파일(모듈)을 모두 포함함
    • import__all__ 키워드 사용
      picture 17
  1. __main__.py 파일 만들기
    picture 18


📒[참고] 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