📖 Module overview
📖 모듈(Module) in Python
random
을 사용하면 난수를 쉽게 생성할 수 있음>>> import random
>>> random.randint(1,1000)
315
>>> random.randint(1,1000)
840
>>> random.randint(1,1000)
780
>>> random.randint(1,1000)
57
>>>
📖 패키지
📖 Module 만들기
import
문을 사용해서 module을 호출# fah_convereter.py
def convert_c_to_f(celcius_value):
return celcius_value * 9.0 / 5 + 32
# module_ex.py
import fah_converter
print("Enter a celsius value: ")
celcius = float(input())
fahrenheit = fah_converter.convert_c_to_f(celsius)
print("That's ", farenheit, " degrees Fahrenheit")
📖 namespace
from
과 import
키워드를 사용함📖 namespace example
import fah_converter as fah
print(fah.convert_c_to_f(41.6))
from fah_converter import convert_c_to_f
print(convert_c_to_f(41.6))
from fah_converter import *
print(convert_c_to_f(41.6))
📖 Built-in Modules
import
문으로 활용 가능📖 Built-in Module Example
# 난수
import random
print(random.randint(0,100))
print(random.random())
# 시간
import time
print(time.localtime())
# 웹
import urllib.request
response = urllib.request.urlopen("http://thetemlab.io")
print(response.read())
📖 Package overview
__init__
, __main__
등 키워드 파일명이 사용됨📖 Package 만들기
1) 기능들을 세부적으로 나눠 폴더로 만듦
2) 각 폴더별로 필요한 모듈을 구현함
# echo.py
def echo_play(echo_number):
print("echo {} number start".format(echo_number))
3) 1차 Test-python shell
>>> import echo
>> echo.echo_play(10)
echo 10 number start
4) 폴더별로 __init__.py
파일 구성하기
# 내가 쓸 파일명들을 선언해주기
__all__ = ['image', 'stage', 'sound']
from . import image
from . import stage
from . import sound
import
와 __all__
keyword 사용5) __main__.py
파일 만들기
from stage.main import game_start
from stage.sub import set_stage_level
from image.character import show_character
from sound.bgm import bgm_play
if __name__ == '__main__':
game_start()
set_stage_level(5)
bgm_play(10)
show_character()
6) 실행하기 - 패키지 이름만으로 호출하기
(base) λ python game
Game start
Set stage level: 5
BGM 10 number start
show_character
📖 [참고] package namespace
# 절대참조
from game.graphic.render import render_test
# '.' : 현재 디렉토리 기준
from .render import render_test
# '..' : 부모 디렉토리 기준
from ..sound.echo import echo_test
📖 Python Virtual Environment Overview
virtualenv | conda |
---|---|
가장 대표적인 가상환경 관리 도구 | 상용 가상환경 도구, miniconda 기본 도구 |
레퍼런스 + 패키지 개수 | 설치의 용이성, Windows에서 장점 |
📖 conda 가상환경
conda create -n my_project python = 3.8
conda create
: 가상환경 새로 만들기-n my_project
: 가상환경 이름python = 3.8
: 파이썬 버전conda activate my_project
conda deactivate
conda install <패키지명>
📖 conda 가상환경 예시
import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.show()
from tqdm import tqdm
import time
for i in tqdm(range(100000)):
if i % 1000 == 0:
time.sleep(1)
<이 게시물은 최성철 교수님의 Module and Project 강의 자료를 참고하여 작성되었습니다.>
본 포스트의 학습 내용은 [부스트캠프 AI Tech 5기] Pre-Course 강의 내용을 바탕으로 작성되었습니다.
부스트캠프 AI Tech 5기 Pre-Course는 일정 기간 동안에만 운영되는 강의이며,
AI 관련 강의를 학습하고자 하시는 분들은 부스트코스 AI 강좌에서 기간 제한 없이 학습하실 수 있습니다.
(https://www.boostcourse.org/)