모듈은 패키지 안에 들어있다.
레고블록(모듈)들이 모여 완성품(패키지)을 만들 수 있다.
프로그램에서 작은 프로그램 조각 하나
프로그램을 모듈화 시키면 다른 프로그램에서 다시 사용하기 쉽다.
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
'개발 > Python' 카테고리의 다른 글
부스트캠프 AI Tech 3기 Pre-Course [4]-2 File Handling / 파일 (0) | 2021.12.07 |
---|---|
부스트캠프 AI Tech 3기 Pre-Course [4]-1 Exception Handling / 예외처리 (0) | 2021.12.07 |
부스트캠프 AI Tech 3기 Pre-Course [2]-3 decorate,일급객체, inner function (0) | 2021.12.07 |
부스트캠프 AI Tech 3기 Pre-Course [2]-2 객체 지향 언어의 특징 (0) | 2021.12.06 |
부스트캠프 AI Tech 3기 Pre-Course [2]-1 객체 지향 언어로써의 파이썬 : Python OOP(Object Oriented Programming) (0) | 2021.12.06 |