(Python 4-2๊ฐ) Module and Project
210804
ํ์ด์ฌ์ ๋๋ถ๋ถ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ด๋ฏธ ๋ค๋ฅธ ์ฌ์ฉ์์ ์ํด ๊ตฌํ๋์ด ์๋ค!
๋ชจ๋
์ด๋ค ๋์์ ๋ถ๋ถ ํน์ ์กฐ๊ฐ์ ๋ชจ๋์ด๋ผ๊ณ ํ๋ค
ํ๋ก๊ทธ๋จ์์๋ ์์ ํ๋ก๊ทธ๋จ ์กฐ๊ฐ๋ค๊ณผ ๋ชจ๋๋ค์ ๋ชจ์์ ํ๋์ ํฐ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ค
์ด๋ฏธ ํ์ด์ฌ ๋ด๋ถ์๋ ๋ง์ ๋ชจ๋์ด ์๋ค
Built In Module
ํจํค์ง
๋ชจ๋์ ๋ชจ์๋์ ๋จ์, ํ๋์ ํ๋ก๊ทธ๋จ
ํ์ด์ฌ์์ ๋ชจ๋์ py ํ์ผ์ ์๋ฏธํ๋ค. ๊ทธ๋ฆฌ๊ณ import๋ฌธ์ ์ฌ์ฉํด์ module์ ํธ์ถํ๋ค.
import๋ฅผ ํ ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ ํด๋์ ์์ด์ผ ํ๋ค.
__pycache__ ๊ฐ ๋ญ์ผ?
ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ๊ฐ ๋ฏธ๋ฆฌ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ ๊ฒ. ํ๋ก๊ทธ๋จ์ ๋ก๋ฉํ ๋ ๋น ๋ฅด๊ฒ ํ ์ ์๋๋ก ํ๋ค.
๋ชจ๋์ ํธ์ถํ ๋๋ ๋ฒ์๋ฅผ ์ ํ ์ ์๋ค. ์ผ๋ฐ์ ์ผ๋ก py ํ์ผ์ import ํ๋ฉด py ํ์ผ์์ ๋ชจ๋ ์ฝ๋๊ฐ ๋ค ๋ก๋ฉ์ด ๋๋ค.
๋ชจ๋ ์ฝ๋๋ฅผ ๋ก๋ฉํ๋ฏ๋ก ์๊ฐ์ด ๊ฑธ๋ฆด ์๋ ์๋ค
๋ถ๋ฌ์ค๋ ค๋ ํจ์ ๋๋ ํด๋์ค๋ฅผ ๋งค๋ฒ ์์ฑํ๊ธฐ ํ๋ค๋ค.
์คํ๋๋ฉด ์๋๋ ์ฝ๋๊น์ง ์คํ๋ ์ ์๋ค
๊ทธ๋์ if __name__ == __main__ ์ ์ฐ๊ณค ํ๋ค.
์ด ๋ ์ฌ์ฉํ๋ ๊ฒ์ด namespace!
Alias ์ค์ ํ๊ธฐ - ๋ชจ๋๋ช ์ ๋ณ์นญ์ผ๋ก ์ฐ๊ธฐ
import fah_converter as fah
๋ชจ๋์์ ํน์ ํจ์ ๋๋ ํด๋์ค๋ง ํธ์ถํ๊ธฐ
from fah_converter import covert_c_to_f
๋ชจ๋์์ ๋ชจ๋ ํจ์ ๋๋ ํด๋์ค๋ฅผ ํธ์ถํ๊ธฐ
from fah_converter import *
Built-in Module
random, time, urllib.request ๋ฑ์ด ์๋ค.
์๋ง์ ํ์ด์ฌ ๋ชจ๋์ ์ด๋ป๊ฒ ํ์ฉํ ๊น?
๊ตฌ๊ธ๋ง
๋ชจ๋์ import ํ๊ณ ๊ตฌ๊ธ๋ง ๋๋ Help
๊ณต์ ๋ฌธ์
ํจํค์ง
ํ๋์ ๋ํ ํ๋ก์ ํธ๋ฅผ ๋ง๋๋ ์ฝ๋์ ๋ฌถ์์ด๋ค. ๋ค์ํ ๋ชจ๋๋ค์ด ๋ชจ์ฌ์๋ ํด๋ ๋จ์๋ก ์กด์ฌํ๋ค.
__init__, __main__ ๋ฑ ํค์๋ ํ์ผ๋ช ์ด ์ฌ์ฉ๋๋ฉฐ ๋ค์ํ ์คํ์์ค๋ค์ด ํจํค์ง๋ก ๊ด๋ฆฌ๋๋ค.
3.3 ๋ฒ์ ์ด์ ์๋ __init__ ํ์ผ์ด ์์ด์ผ ํจํค์ง๋ก ๊ฐ์ฃผ๋์๋ค.
์ง๊ธ์ ์์ด๋ ๋์ง๋ง ๋ง์ด๋ค ์ฐ๋ ํธ
package namespace
package ๋ด์์ ๋ค๋ฅธ ํด๋์ ๋ชจ๋์ ๋ถ๋ฅผ ๋ ์๋ ์ฐธ์กฐ๋ก ํธ์ถํ๋ ๋ฐฉ๋ฒ
# ์ ๋์ฐธ์กฐ
from game.graphic.render import render_test()
# . ํ์ฌ๋๋ ํ ๋ฆฌ๊ธฐ์ค
from .render import render_test()
# .. ๋ถ๋ชจ ๋๋ ํ ๋ฆฌ ๊ธฐ์ค
from ..sound.echo import echo_test()
Python Virtual Environment
virtualenv + pip
๊ฐ์ฅ ๋ํ์ ์ธ ๊ฐ์ํ๊ฒฝ ๊ด๋ฆฌ ๋๊ตฌ
๋ ํผ๋ฐ์ค + ํจํค์ง ๊ฐ์
conda
์ฌ์ฉ ๊ฐ์ํ๊ฒฝ๋๊ตฌ
miniconda ๊ธฐ๋ณธ๋๊ตฌ
์ค์น๊ฐ ์ฉ์ดํด์ ์๋์ฐ์์ ์ฅ์ ์ ๊ฐ์ง๋ค
์ฝ๋ค ๊ฐ์ํ๊ฒฝ
# ๋ง๋ค๊ธฐ
conda create -n my project python=3.8
# ํธ์ถ
conda activate my_project
# ํด์
conda deactivate
# ํจํค์ง ์ค์น
conda install <ํจํค์ง๋ช
>
Last updated
Was this helpful?