ํ์ผ ์ด์ฉ(File Operation) ํ์ผ ์ด๊ธฐ/์์ฑ ํ์ผ์ ์ฐ๊ธฐ ํ์ผ ๋ด์ฉ ์ฝ๊ธฐ ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ์์ ์คํํ ์ฌ๋ฌ ์์
๋ค์ ์ปดํจํฐ ์ฃผ๊ธฐ์ต์ฅ์น์ธ RAM(random access memory)์ ์ ์ฅ๋ฉ๋๋ค. ์ด ์ ์ฅ์๋ ์ธํฐํ๋ฆฌํฐ๊ฐ ์ข
๋ฃ๋๋ฉด ํจ๊ป RAM์ ์ ์ฅ๋ ์์
๊ณผ์ ์ด๋ ๊ฒฐ๊ณผ๊ฐ ํ๋ฐ๋๋ฏ๋ก ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋๋ ํ๋๋์คํฌ์ ๊ทธ ์์
์ ์ ์ฅํ ํ์๊ฐ ์์ต๋๋ค. ์ด ๊ณผ์ ์ ํ 1์ ํจ์ ๋๋ ๋ฉ์๋๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ์ฉํ์ฌ ์คํํ ์ ์์ต๋๋ค. ํ 1 ํ์ผ ์ด์ฉ์ ์ํ ํจ์ ์์ ํจ์/๋ฉ์๋ ๋ด์ฉ 1 open() ํ์ผ ์ด๊ธฐ, ํจ์ 2 write() ์ฐ๊ธฐ(์
๋ ฅ) , ๋ฉ์๋ 2 read() ์ฝ๊ธฐ , ๋ฉ์๋ 3 close() ํ์ผ ๋ซ๊ธฐ, ๋ฉ์๋ ํ์ผ ์ด๊ธฐ/์์ฑ ํ์ผ์ ํธ์ถ ๋๋ ์๋ก์ด ํ์ผ์ ์์ฑํ๊ธฐ ์ํด ๋ด์ฅํจ์์ธ open() ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ํจ์๋ ํ์ผ์ ๊ฒฝ๋ก์ ๊ทธ ํ์ผ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ์ง์ ํฉ๋๋ค. ํ์ผ์ ์ฒ๋ฆฌ๋ฐฉ์์ ํ 2์ ์๊ฐํ ๊ฒ๊ณผ ๊ฐ์ด ๋ค์ํฉ๋๋ค. ํ 2 open() ํจ์์ mode ์ข
๋ฅ mode ์ ๋ฏธ 'r' ์ฝ๊ธฐ์ ์ฉ(๊ธฐ๋ณธ๊ฐ) 'w' ์ฐ๊ธฐ ์ ์ฉ, ํ์ผ์ด ์กด์ฌํ์ง ์์ผ๋ฉด ์๋ก์ด ํ์ผ์ด ์์ฑ๋๊ณ ํ์ผ์ด ์กด์ฌํ๋ค๋ฉด ์ด์ ๋ด์ฉ์ ์ง์์ง๋๋ค. 'x' ํ์ผ ์์ฑ, ํ์ผ์ด ์กด์ฌํ๋ค๋ฉด ์๋ฌ๋ฐ์ 'a' ํ์ผ์ ๊ธฐ์กด ๋ด์ฉ์ ๋์ ์ฒจ๊ฐ๋๊ณ ํ์ผ์ด ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ์ ํ์ผ์ด ์์ฑ 't' ํ์ผ์ text ๋ชจ๋๋ก ์ฝ๋๋ค(๊ธฐ๋ณธ). 'b' ํ์ผ์ ์ด์ง๋ชจ๋๋ก ์ฝ๋๋ค. '+' ํ์ผ์ ์
๋ฐ์ดํธํ๊ธฐ ์ํด ์คํํฉ๋๋ค. ์ฌ์ฉ๋ฐฉ์์ r ๊ณผ w๋ฅผ ๋ชจ๋ ์ฌ์ฉํฉ๋๋ค. open() ํจ์ ์ฌ์ฉ ํ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅ์ ์ํด์๋ ์ธํฐํ๋ฆฌํฐ์์ ๊ทธ ๊ฐ์ฒด(๊ฒฐ๊ณผ)๋ฅผ...
๋ชจ๋(Module), ํจํค์ง(Package) ํ๋ก๊ทธ๋จ ์ค ์คํ๊ฐ๋ฅํ ์ผ์ ํ ๋ถ๋ถ์ ๊ทธ๋ฃนํํ ์ ์์ต๋๋ค. ์ฆ, ๊ทธ ๋ถ๋ถ์ ์ด๋ฆ์ ๋ถ์ฌํ์ฌ ๊ฐ์ฒด๋ก ๋ง๋ค์ด ๋์ผํ ์์
์ด ํ์ํ ๊ฒฝ์ฐ๋ง๋ค ๊ทธ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๊ทธ ๋ถ๋ฆฌ๋ ๊ฐ์ฒด ์์ฒด๊ฐ ํ๋ก๊ทธ๋จ์ด ๋๋ฉฐ ๋ชจ๋(Module) ์ด๋ผ๊ณ ํฉ๋๋ค. ๋์ผํ ์๋ฃํ์ ์ฌ์ฉํ๋ ์ฌ๋ฌ๊ฐ์ ๋ชจ๋์ ํ๋์ ๋๋ ํฐ๋ฆฌ๋ด๋ก ๋ฌถ์ ํ์๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ ํจํค์ง(package) ๋ผ๊ณ ํฉ๋๋ค. ํ์ด์ฌ์์ ์ฌ์ฉํ ์ ์๋ ๋ค์ํ ํจํค์ง์ ์กด์ฌํ๋ฉฐ ๊ณ์ ์์ฑ๋๊ณ ์
๋ฐ์ดํธ๋๊ณ ์์ต๋๋ค. ์ด์ ๊ฐ์ด ํฐ ํ๋ก๊ทธ๋จ์ ๋ชจ๋ํํ์ฌ ์ฌ์ฉํ๋ ๊ฒ์ ํ๋ก๊ทธ๋จ์ ์คํ๊ณผ ์์ , ๋ณต๊ตฌ ๋ฑ ๋ค์ํ ์ธก๋ฉด์์ ์ ๋ฆฌํฉ๋๋ค. ๋ชจ๋(Module) ๊ฐ์ฒด ์ ์(definition)์ ๋ฌธ(statement)์ ํฌํจํ๋ ํ์ผ ํ์ด์ฌ์์ ์์ฑํ๋ ๋ชจ๋์ ํ์ฅ๋ช
์ .py์
๋๋ค. ํ๋ก๊ทธ๋จ์ ์คํ ๊ฐ๋ฅํ ๋ถ๋ถ๋ค์ ์กฐํฉ์ผ๋ก ์์ฑํ๊ธฐ ์ํด ์ฌ์ฉ ๋ชจ๋ ์ ์ฒด ๋๋ ์ผ๋ถ๋ฅผ ๋ค๋ฅธ ๋ชจ๋, ํ๋ก๊ทธ๋จ ๋๋ ์ธํฐํ๋ฆฌํฐ์์ ํธ์ถํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ํ์ฅ์ " .py " ํ์์ผ๋ก ๋ณ๋์ ํ์ผ์ ์ ์ฅํ๋ค๋ฉด ๋ชจ๋์ด ๋ฉ๋๋ค. ๋ชจ๋/ํจํค์ง์ import " ์ํฌํธ(import) "๋ ํ์ด์ฌ์ ์์ฑํ๊ณ ์คํํ๋ ์ฝ๋ ํด์๊ธฐ(interpreter)์ ๋ชจ๋์ ์ฅ์ฐฉํ๋ ๋ช
๋ น ํค์๋์
๋๋ค. ๋ค์์ ๋ ์๋ฅผ ๋ํ๋ ์ฌ์ฉ์ ์ ์ ํจ์๋ก ๋ณ๋์ ํ์ผ(test.py)์ ์ ์ฅ๋ ๊ฒ์
๋๋ค. ์ด ํจ์๋ ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ์ ๋ชจ๋ ์์ญ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์ด์ฌ ์์ฒด๋ฅผ ์ข
๊ฒฐํ ํ ์์ฑํ ํจ์๋ ์๋ฉธ๋๋ฏ๋ก ์ถํ์ ์ฌ์ฉํ๊ธฐ ์ํด ๋ณ๋์ ํ์ผ๋ก ์ ์ฅํฉ๋๋ค. ์ด๋ ๊ฒ ์ ์ฅ๋ ํ์ด์ฌ ํ์ผ์ด ๋ชจ๋์ด ๋ฉ๋๋ค. def add(a, b): return a+b ์ ํ์ผ์ ๋ชจ๋๋ก ์ฌ์ฉํ๊ธฐ ์ํด ์คํํ์ผ์์ test.py๋ฅผ ์ํฌํธ ํฉ๋๋ค. ์ํฌํธ ๋ ๋ชจ๋์ ํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ 1๊ณผ ๊ฐ์ด ๊ทธ ํจ์์ ๋ชจ๋...