now is better than never

[인공지능(AI) 기초 다지기] 2. 파이썬 다지기 (2) 본문

Python/[코칭스터디 9기] 인공지능 AI 기초 다지기

[인공지능(AI) 기초 다지기] 2. 파이썬 다지기 (2)

김초송 2023. 1. 27. 19:05

4. 파이썬 기초 문법 3

- Module

  • 프로그램에서는 작은 프로그램 조각들 = 모듈들을 모아서 하나의 큰 프로그램을 개발함
  • 프로그램을 모듈화 시키면 다른 프로그램이 사용하기 쉬움 ex) API
  • 파이썬에서는 py 파일을 의미
  • import문을 통해 호출
  • built-in module 이 아니면 같은 디렉토리 안에 있어야 함

 

- Namespace

  • 모듈을 호출하면 모든 코드들이 메모리에 로딩되는 것을 방지
  • 모듈을 호출할 때 범위 정하는 방법
  • 모듈 안에는 함수와 클래스 등이 존재 가능
  • 필요한 내용만 골라서 호출 ->  from, import 키워드 사용
  1. Alias (별칭) 설정하기 (as)
  2. 모듈에서 특정 함수 또는 클래스만 호출하기 (from 폴더 import py 파일)
  3. 모듈에서 모든 함수 또는 클래스 호출하기 (*)

 

- Package

  • 모듈을 모아놓은 단위, 하나의 프로그램, 폴더로 연결됨
  • 하나의 대형 프로젝트를 만드는 코드의 묶음
  • __init__, __main__ 등 키워드 파일명이 사용됨 (각각의 폴더 모두 가지고 있음)
  • 다양한 오픈 소스들이 모두 패키지로 관리됨
  1. 기능들을 세부적으로 나눠 폴더 생성
  2. 각 폴더별로 필요한 모듈 구현
  3. 폴더별로 __init__.py 구성
    현재 폴더가 패키지임을 알리는 초기화 스크립트
    없을 경우 패키지로 간주하지 않았으나 3.3 이후부터 사라짐
    하위 폴더와 py 파일(모듈)을 모두 포함
    import와 __all__ 키워드 사용
  4. __main__.py 파일 구성
    패키지 호출 시 실행되는 파일

# game > __init__.py
__all__ = ["image", "sound", "stage"] # 앞으로 쓸 모듈들의 이름 = 폴더명

from . import image
from . import sound
from . import stage # 파일명 선언

 

- Package Namespace

  • Package 내에서 다른 폴더의 모듈을 부를 때 상대 참조로 호출하는 방법
# 절대 참조
from game.graphic.render import render_test

# 상대 참조
from .render import render_test # . : 현재 디렉토리 기준
from ..sound.echo import render_test # .. : 부모 디렉토리 기준

 

- Virtual Environment (가상환경)

  • 프로젝트 진행 시 필요한 패키지만 설치하는 환경
  • 기본 인터프리터 + 프로젝트 종류별 패키지 설치
    웹 프로젝트, 데이터 분석 프로젝트 등 각각 패키지를 관리할 수 있는 기능
  • 다양한 패키지 관리 도구를 사용함 
    대표적인 도구 : virtualenv, conda
virtualenv + pip conda
가장 대표적인 가상환경 관리 도구
레퍼러스 + 패키지개수
상용 가상환경도구
miniconda 기본 도구
설치의 용이성 -> windows에서 장점
conda create -n my project python=3.9
  • conda create : 가상환경 새로 만들기
  • -n my_project : 가상환경 이름
  • python=3.9 : 파이썬 버전
conda activate <가상환경명>
conda deactivate
conda install <패키지명>