๋ชจ๋-> ํจ์, ํด๋์ค, ๋ณ์ ๋ฑ์ ์งํฉ
ํจํค์ง->๋ชจ๋์ ๋ชจ์๋์ ํด๋. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํจ.
ํ์ด์ฌ ํจํค์ง=๋๋ ํฐ๋ฆฌ+ํ์ด์ฌ ๋ชจ๋
ํจํค์ง ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ์ฌ ํ๋ก๊ทธ๋จ์ ์์ฑํ ๋ ๊ณต๋ ์์
, ์ ์ง ๋ณด์๊ฐ ์ ๋ฆฌํ๋๋ก
game/ #game ํจํค์ง. ๋ฃจํธ ๋๋ ํฐ๋ฆฌ
__init__.py
sound/ #์๋ธ ๋๋ ํฐ๋ฆฌ
__init__.py
echo.py #ํ์ด์ฌ ๋ชจ๋
wav.py
graphic/ #์๋ธ ๋๋ ํฐ๋ฆฌ
__init__.py
scree.py
render.py
ํจํค์ง ๊ธฐ๋ณธ ๊ตฌ์ฑ ์์
#echo. py
def echo_test:
print("echo")
game ๋๋ ํฐ๋ฆฌ ์์ sound ๋๋ ํฐ๋ฆฌ ์์ echo.py ์์ echo_test ํจ์๋ฅผ ์คํ
import game.sound.echo
game.sound.echo.echo_test() #echo ์ถ๋ ฅ๋จ.
from game.sound import echo
echo.echo_test() #echo ์ถ๋ ฅ๋จ.
from game.sound.echo import echo_test
echo_test() #echo ์ถ๋ ฅ๋จ.
๋ถ๊ฐ๋ฅํ ์ผ์ด์ค
from game
import game.sound.echo.echo_test()
'.' ๋ํธ๋ฅผ ์ฌ์ฉํด์ importํ ๋ ๊ฐ์ฅ ๋ง์ง๋ง ํญ๋ชฉ์ ๋ฐ๋์ ๋ชจ๋ ๋๋ ํจํค์ง์ฌ์ผ ํจ.
ํด๋น ๋๋ ํฐ๋ฆฌ๊ฐ ํจํค์ง์ ์ผ๋ถ์์ ์๋ ค์ฃผ๋ ์ญํ
pythom 3.3 ๋ฒ์ ์ด์ ์๋ ๋๋ ํฐ๋ฆฌ์ init.pyํ์ผ์ ํฌํจํ์ง ์์ผ๋ฉด ํจํค์ง๋ก ์ธ์๋์ง ์๋๋ค. (์ง๊ธ์ ์ธ์)
from game.sound import *
echo.echo_test() #์ค๋ฅ ๋ฐ์
ํน์ ๋๋ ํฐ๋ฆฌ์ ๋ชจ๋์ *์ ์ฌ์ฉํด์ importํ ๋
__init__.py ํ์ผ์ __all__ ๋ณ์ ์ค์
#sound ๋๋ ํฐ๋ฆฌ์ __init__.py
__all__=[echo]
sound ๋๋ ํฐ๋ฆฌ์์ * ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ importํ๋ฉด echo๋ชจ๋์ด import๋๋ค๋ ์๋ฏธ.
all๊ณผ ์๊ด์์ด ๋ฌด์กฐ๊ฑด import๋๋ ๊ฒฝ์ฐ
from a.b.c import *์์ c๊ฐ ๋ชจ๋์ธ ๊ฒฝ์ฐ
#์ ์์ ์ render.py
from game.sound.echo import echo_test
# frome ..sound.echo import echo_test๋ก ๋์ฒด๊ฐ๋ฅ -> relativeํ import
..์ render.py ํ์ผ์ ๋ถ๋ชจ ๋๋ ํฐ๋ฆฌ๋ฅผ ์๋ฏธ
def render_test():
print("render")
echo_test()
render_test๋ฅผ ์คํํ๋ฉด echo_test์ ๊ธฐ๋ฅ์ ์ํ
relativeํ ์ ๊ทผ์