본문 바로가기

개발/Python

부스트캠프 AI Tech 3기 Pre-Course [3] Module and Project

모듈은 패키지 안에 들어있다.

레고블록(모듈)들이 모여 완성품(패키지)을 만들 수 있다.

프로그램에서 작은 프로그램 조각 하나

프로그램을 모듈화 시키면 다른 프로그램에서 다시 사용하기 쉽다.

 

ex) python 에서 built-in Module인 random

import random
random.randint(1,1000)

 

이런 모듈을을 모아둔게 패키지이고, 패키지를 공개하는 것이 프로젝트이다.

 

Module

파이썬에서 module은 .py 파일이다.

import 를 사용해서 모듈을 호출(loading)할 수 있다.

 

# fah_converter.py

def convert_c_to_f(celcius_value):
    return celcius_value 8 9.0 /5 +32
# modle_ex.py
import fah_converter

print("Enter a celsius value:"
celsius=float(input())
fahrenheit=fah_converter.convert_c_to_f(celsius)
print("That's". fahrenheit, " degrees Fahrenheit")

이런식으로 모듈을 로딩해서 사용할 수 있다.

 

namespace

:모듈을 호출할 때 범위를 정하는 방법

  • alias(별칭) 설정하기
    from fah_converter as fah
    print(fah.convert_c_to_f(41))​
  • 모듈에서 특정 함수 또는 클래스만 호출하기
    from fah_converter imoprt convert_c_to_f​
  • 모듈에서 모든 함수 또는 클래스 호출하기
    from fah_converter import *
    print(convert_c_to_f(52))​
    *를 사용하면 모든 파일이라는 뜻으로 생각하면 된다.

 

package 패키지

하나의 대형 프로젝트를 만드는 코드의 묶음

모듈이 모여서 하나의 패키지가 된다

__init__, __main__같은 키워드 파일명이 사용된다.

폴더로 이루어져있는데, from 키워드로 폴더에 들어갈 수 있다.

 

 

package namespace

만약 sound폴더의 bgm.py 에서 image폴더의 character.py를 부를 때(상대 참조)

from ..image.character import 함수명

현재 디렉토리에서 다른 모듈을 부를 때

  • 상대 참조
    from .render import render_test
  • 절대 참조
    from game.graphic.render import render_test​

오픈소스 라이브러리 사용하기

프로젝트에 목적에 맞춰서 새롭게 파이썬 환경을 만들기 위해 가상환경을 만들기도 한다.

프로젝트 진행 시 필요한 패키지만 설치해 둘 수 있다.

패키지 관리 도구 : virtualenv, conda

 

 

 

 

Reference : 부스트캠프 AI Tech 3기 Pre-Course - Module and Project