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?