package
Packages
: ํจํค์ง๋ ๋ํธ(.)๋ฅผ ์ฌ์ฉํ์ฌ ํ์ด์ฌ ๋ชจ๋์ ๊ณ์ธต์ (๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ)์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ฒ ํ๋ค
number/
__init__.py
first/
__init__.py
echo.py
wav.py
second/
__init__.py
screen.py
render.py
third/
__init__.py
run.py
test.py
ํจํค์ง ์์ ํจ์ ์คํํ๊ธฐ
import number.first.echo
>>> game.sound.echo.echo_test() # echo
from number.first import echo
>>> echo.echo_test() # echo
from number.first.echo import echo_test
>>> echo_test() # echo
init.py ์ ์ฉ๋
: ํด๋น ๋๋ ํฐ๋ฆฌ๊ฐ ํจํค์ง์ ์ผ๋ถ์์ ์๋ ค์ฃผ๋ ์ญํ ์ ํ๋ค. ๋ง์ฝ ํจํค์ง์ ํฌํจ๋ ๋๋ ํฐ๋ฆฌ์ init.py ํ์ผ์ด ์๋ค๋ฉด ํจํค์ง๋ก ์ธ์๋์ง ์๋๋ค (๋จ, python3.3 ๋ฒ์ ๋ถํฐ๋ init.py ํ์ผ ์์ด๋ ํจํค์ง๋ก ์ธ์ํ๋ค )
์ด๋ ๊ฒ ํน์ ๋๋ ํฐ๋ฆฌ์ ๋ชจ๋์ *๋ฅผ ์ฌ์ฉํ์ฌ importํ ๋์๋ ๋ค์๊ณผ ๊ฐ์ด ํด๋น ๋๋ ํฐ๋ฆฌ์ init.py ํ์ผ์ all ๋ณ์๋ฅผ ์ค์ ํ๊ณ importํ ์ ์๋ ๋ชจ๋์ ์ ์ํด ์ฃผ์ด์ผ ํ๋ค.
์ฌ๊ธฐ์์ all์ด ์๋ฏธํ๋ ๊ฒ์ sound ๋๋ ํฐ๋ฆฌ์์ * ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ importํ ๊ฒฝ์ฐ ์ด๊ณณ์ ์ ์๋ echo ๋ชจ๋๋ง import๋๋ค๋ ์๋ฏธ
C:/user/number/sound/__init__.py
__all__ = ['echo']
rom game.sound import *
>>> echo.echo_test() # echo
relative ํจํค์ง
: ์๋ก ๋ค๋ฅธ ๋๋ ํฐ๋ฆฌ์ ๋ชจ๋์ ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋ ๋ค relativeํ ์ ๊ทผ์
.. ๋ถ๋ชจ ๋๋ ํฐ๋ฆฌ
. ํ์ฌ ๋๋ ํฐ๋ฆฌ
# render.py
from ..sound.echo import echo_test
def render_test():
print ("render") # echo_test()
Last updated
Was this helpful?