Python ์ฝ๋์ ๋ํ ์ ํ ๊ฒ์ฌ ์์คํ ์ ๊ตฌํํ ๋ Dropbox๊ฐ ์ทจํ ๊ฒฝ๋ก์ ๋ํ ์๋ฃ ๋ฒ์ญ์ ์ธ ๋ฒ์งธ ๋ถ๋ถ์ ์ฌ๋ฌ๋ถ๊ป ์๊ฐํฉ๋๋ค.
โ ์ด์ ๋ถ๋ถ:
4๋ง ์ค์ ์ ๋ ฅ ์ฝ๋ ๋๋ฌ
๋ ๋ค๋ฅธ ์ฃผ์ ๊ณผ์ ์ด์ ๋ด๋ถ ์ค๋ฌธ ์กฐ์ฌ์์ ๋ ๋ฒ์งธ๋ก ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๊ด์ฌ์ฌ๋ Dropbox์์ ์ ํ ๊ฒ์ฌ์ ํฌํจ๋๋ ์ฝ๋์ ์์ ๋๋ฆฌ๋ ๊ฒ์ด์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ์ํ๋ ์ฝ๋๋ฒ ์ด์ค์ ํฌ๊ธฐ๋ฅผ ์์ฐ์ค๋ฝ๊ฒ ๋๋ฆฌ๋ ๊ฒ๋ถํฐ mypy ํ์ ๋ ธ๋ ฅ์ ์ ์ ๋ฐ ๋์ ์๋ ์ ํ ์ถ๋ก ์ ์ง์คํ๋ ๊ฒ๊น์ง ์ฌ๋ฌ ๊ฐ์ง ์ ๊ทผ ๋ฐฉ์์ ์๋ํ์ต๋๋ค. ๊ฒฐ๊ตญ ๋จ์ํ ์น๋ฆฌ ์ ๋ต์ ์๋ ๊ฒ ๊ฐ์์ง๋ง, ์ฌ๋ฌ ์ ๊ทผ ๋ฐฉ์์ ๊ฒฐํฉํด ์ฃผ์ ์ฝ๋ ์์ ๊ธ์ํ ์ฑ์ฅ์ ์ด๋ฃฐ ์ ์์์ต๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ์ฐ๋ฆฌ์ ๊ฐ์ฅ ํฐ Python ์ ์ฅ์(๋ฐฑ์๋ ์ฝ๋ ํฌํจ)์๋ ์ฃผ์์ด ๋ฌ๋ฆฐ ์ฝ๋๊ฐ ๊ฑฐ์ 4๋ง ์ค์ ๋ฌํฉ๋๋ค. ์ ์ ์ฝ๋ ํ์ดํ ์์
์ ์ฝ XNUMX๋
๋ง์ ์๋ฃ๋์์ต๋๋ค. Mypy๋ ์ด์ ์
๋ ฅ ์งํ ์ํฉ์ ๋ ์ฝ๊ฒ ๋ชจ๋ํฐ๋งํ ์ ์๋ ๋ค์ํ ์ ํ์ ์ฝ๋ ๋ฒ์ ๋ณด๊ณ ์๋ฅผ ์ง์ํฉ๋๋ค. ํนํ ์ ํ์ ๋ช
์์ ์ธ ์ฌ์ฉ๊ณผ ๊ฐ์ด ์ ํ์ด ๋ชจํธํ ์ฝ๋์ ๋ํ ๋ณด๊ณ ์๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. Any
ํ์ธํ ์ ์๋ ์ฃผ์ ๋๋ ์ ํ ์ฃผ์์ด ์๋ ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฑ์ ๊ฒฝ์ฐ. Dropbox์ ์ ํ ๊ฒ์ฌ ์ ํ์ฑ์ ํฅ์์ํค๋ ํ๋ก์ ํธ์ ์ผํ์ผ๋ก ์ฐ๋ฆฌ๋ ์ค์ ์ง์ค์ Python ์ ์ฅ์์ ์๋ ์ผ๋ถ ์ธ๊ธฐ ์คํ ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ํ ์ ์(์์ ์คํ
ํ์ผ)๋ฅผ ๊ฐ์ ํ๋ ๋ฐ ๊ธฐ์ฌํ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ผ๋ถ ํน์ Python ํจํด์ ๋ํด ๋ณด๋ค ์ ํํ ์ ํ์ ํ์ฉํ๋ ์ ํ ์์คํ
์ ์๋ก์ด ๊ธฐ๋ฅ์ ๊ตฌํ(๋ฐ ํ์ PEP์์ ํ์คํ)ํ์ต๋๋ค. ์ด์ ๋ํ ์ฃผ๋ชฉํ ๋งํ ์๋ TypeDict
์ด๋ ๊ฐ๊ฐ ๊ณ ์ ํ ์ ํ์ ๊ฐ์ ๊ฐ๋ ๊ณ ์ ๋ ๋ฌธ์์ด ํค ์ธํธ๊ฐ ์๋ JSON๊ณผ ์ ์ฌํ ์ฌ์ ์ ๋ํ ์ ํ์ ์ ๊ณตํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๊ณ์ํด์ ์ ํ ์์คํ
์ ํ์ฅํ ์์ ์
๋๋ค. ๋ค์ ๋จ๊ณ๋ Python์ ์์น ๊ธฐ๋ฅ์ ๋ํ ์ง์์ ๊ฐ์ ํ๋ ๊ฒ์
๋๋ค.
์ฃผ์์ด ๋ฌ๋ฆฐ ์ฝ๋ ์ค ์: ์๋ฒ
์ฃผ์์ด ๋ฌ๋ฆฐ ์ฝ๋ ์ค ์: ํด๋ผ์ด์ธํธ
์ฃผ์์ด ๋ฌ๋ฆฐ ์ฝ๋์ ์ด ์ค ์
Dropbox์์ ์ฃผ์์ด ์ถ๊ฐ๋ ์ฝ๋์ ์์ ๋๋ฆฌ๊ธฐ ์ํด ์ํํ ์์ ์ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ํ ๊ฐ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฃผ์ ์๊ฒฉํจ. ์ฐ๋ฆฌ๋ ์๋ก์ด ์ฝ๋์ ์ฃผ์์ ์ถ๊ฐํ๋ ๋ฐ ๋ํ ์๊ตฌ ์ฌํญ์ ์ ์ฐจ์ ์ผ๋ก ๊ฐํํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฏธ ์ผ๋ถ ์ฃผ์์ด ์๋ ํ์ผ์ ์ฃผ์ ์ถ๊ฐ๋ฅผ ์ ์ํ๋ Linter ํ๋ถํฐ ์์ํ์ต๋๋ค. ์ด์ ์ Python ํ์ผ๊ณผ ๋๋ถ๋ถ์ ๊ธฐ์กด ํ์ผ์ ์ ํ ์ฃผ์์ด ํ์ํฉ๋๋ค.
๋ณด๊ณ ์๋ฅผ ์ ๋ ฅํฉ๋๋ค. ์ฐ๋ฆฌ๋ ํ์ ์ฝ๋ ์ ๋ ฅ ์์ค์ ๋ํ ์ฃผ๊ฐ ๋ณด๊ณ ์๋ฅผ ๋ณด๋ด๊ณ ๋ฌด์์ ๋จผ์ ์ฃผ์์ ๋ฌ์์ผ ํ๋์ง์ ๋ํ ์กฐ์ธ์ ์ ๊ณตํฉ๋๋ค.
๋ง์ดํผ์ ๋์คํ. ์ฐ๋ฆฌ๋ ์ด๋ฒคํธ์์ mypy์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ํ๊ณผ ๋ํํ์ฌ ์ ํ ์ฃผ์์ ์์ํ๋ ๋ฐ ๋์์ ์ค๋๋ค.
ํฌํ์. ๋น์ฌ๋ ์ฃผ์ ๋ฌธ์ ์ ์ ํ์ ํ๊ธฐ ์ํด ์ ๊ธฐ์ ์ธ ์ฌ์ฉ์ ์ค๋ฌธ์กฐ์ฌ๋ฅผ ์ค์ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋นํ ๋ ธ๋ ฅ์ ๊ธฐ์ธ์ผ ์ค๋น๊ฐ ๋์ด ์์ต๋๋ค(mypy ์๋๋ฅผ ๋์ด๊ธฐ ์ํด ์๋ก์ด ์ธ์ด๋ฅผ ๋ง๋๋ ๊ฒ๊น์ง!).
์ฑ๋ฅ. ๋ฐ๋ชฌ๊ณผ mypyc๋ฅผ ์ฌ์ฉํ์ฌ mypy์ ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์์ผฐ์ต๋๋ค. ์ด๋ Annotation ๊ณผ์ ์์ ๋ฐ์ํ๋ ๋ถํธํจ์ ํด์ํ๊ณ , ๋ง์ ์์ ์ฝ๋ ์์ ์ด ๊ฐ๋ฅํ๋๋ก ํ๊ธฐ ์ํจ์ด์์ต๋๋ค.
ํธ์ง์์์ ํตํฉ. Dropbox์์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํธ์ง๊ธฐ์์ mypy ์คํ์ ์ง์ํ๋ ๋๊ตฌ๋ฅผ ๋ง๋ค์์ต๋๋ค. ์ฌ๊ธฐ์๋ PyCharm, Vim ๋ฐ VS Code๊ฐ ํฌํจ๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ์ฝ๋์ ์ฃผ์์ ๋ฌ๊ณ ๊ธฐ๋ฅ์ ํ์ธํ๋ ํ๋ก์ธ์ค๊ฐ ํฌ๊ฒ ๋จ์ํ๋์์ต๋๋ค. ์ด๋ฌํ ์ ํ์ ์์ ์ ๊ธฐ์กด ์ฝ๋์ ์ฃผ์์ ๋ฌ ๋ ์ผ๋ฐ์ ์ ๋๋ค.
์ ์ ๋ถ์. ์ฐ๋ฆฌ๋ ์ ์ ๋ถ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ํจ์ ์๋ช ์ ์ถ๋ก ํ๋ ๋๊ตฌ๋ฅผ ๋ง๋ค์์ต๋๋ค. ์ด ๋๊ตฌ๋ ์๋์ ์ผ๋ก ๊ฐ๋จํ ์ํฉ์์๋ง ์๋ํ ์ ์์ง๋ง ๋ง์ ๋ ธ๋ ฅ ์์ด๋ ์ฝ๋ ์ ํ ์ ์ฉ ๋ฒ์๋ฅผ ๋๋ฆฌ๋ ๋ฐ ๋์์ด ๋์์ต๋๋ค.
ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ง์ํฉ๋๋ค. ์ฐ๋ฆฌ ํ๋ก์ ํธ์ ๋๋ถ๋ถ์ SQLAlchemy ํดํท์ ์ฌ์ฉํฉ๋๋ค. PEP 484 ์ ํ์ด ์ง์ ๋ชจ๋ธ๋งํ ์ ์๋ Python์ ๋์ ๊ธฐ๋ฅ์ ํ์ฉํฉ๋๋ค. ์ฐ๋ฆฌ๋ PEP 561์ ๋ฐ๋ผ ํด๋น ์คํ
ํ์ผ์ ์์ฑํ๊ณ mypy์ฉ ํ๋ฌ๊ทธ์ธ์ ์์ฑํ์ต๋๋ค(
์ฐ๋ฆฌ๊ฐ ๊ฒช์ ์ด๋ ค์
4๋ง ์ค์ ์ ๋ ฅ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ณผ์ ์ด ํญ์ ์ฌ์ด ๊ฒ์ ์๋์์ต๋๋ค. ์ด ๊ธธ์์ ์ฐ๋ฆฌ๋ ๋ง์ ์ํน ๋ค์ด๊ฐ ๊ณณ์ ๋ง๋ฌ๊ณ ๋ช ๊ฐ์ง ์ค์๋ฅผ ์ ์ง๋ ์ต๋๋ค. ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์ง๋ฉดํ ๋ช ๊ฐ์ง ๋ฌธ์ ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ด์ ๋ํด ์ด์ผ๊ธฐํ๋ ๊ฒ์ด ๋ค๋ฅธ ์ฌ๋๋ค์ด ๋น์ทํ ๋ฌธ์ ๋ฅผ ํผํ๋ ๋ฐ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
ํ์ผ์ด ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์์ฃผ ์ ์ ์์ ํ์ผ๋ง์ ํ์ธํ๋ ๊ฒ์ผ๋ก ์์
์ ์์ํ์ต๋๋ค. ์ด ํ์ผ์ ํฌํจ๋์ง ์์ ํญ๋ชฉ์ ํ์ธ๋์ง ์์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ์ฃผ์์ด ๋ํ๋ ๋ ํ์ผ์ด ๊ฒ์ ๋ชฉ๋ก์ ์ถ๊ฐ๋์์ต๋๋ค. ๊ฒ์ฆ ๋ฒ์ ์ธ๋ถ์ ์๋ ๋ชจ๋์์ ๋ฌด์ธ๊ฐ๋ฅผ ๊ฐ์ ธ์จ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ์์
ํ๋ ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํ์ต๋๋ค. Any
, ์ ํ ํ
์คํธ๋์ง ์์์ต๋๋ค. ์ด๋ก ์ธํด ํนํ ๋ง์ด๊ทธ๋ ์ด์
์ด๊ธฐ ๋จ๊ณ์์ ์
๋ ฅ ์ ํ๋๊ฐ ํฌ๊ฒ ์ ํ๋์์ต๋๋ค. ์ผ๋ฐ์ ์ธ ์ํฉ์ ๊ฒํ ๋ฒ์์ ํ์ผ์ ์ถ๊ฐํ๋ฉด ์ฝ๋๋ฒ ์ด์ค์ ๋ค๋ฅธ ๋ถ๋ถ์์ ๋ฌธ์ ๊ฐ ๋๋ฌ๋๋ ๊ฒ์ด์ง๋ง ์ด ์ ๊ทผ ๋ฐฉ์์ ์ง๊ธ๊น์ง ๋๋๋๋ก ์ ์๋ํ์ต๋๋ค. ์ต์
์ ๊ฒฝ์ฐ, ์๋ก ๋
๋ฆฝ์ ์ผ๋ก ์ ํ์ด ์ด๋ฏธ ๊ฒ์ฌ๋ ๋ ๊ฐ์ ๊ฒฉ๋ฆฌ๋ ์ฝ๋ ์์ญ์ด ๋ณํฉ๋์์ ๋ ์ด๋ฌํ ์์ญ์ ์ ํ์ด ์๋ก ํธํ๋์ง ์๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ์ด๋ก ์ธํด ์ฃผ์์ ๋ง์ด ๋ณ๊ฒฝํด์ผ ํ์ต๋๋ค. ์ง๊ธ ๋์ด์ผ๋ณด๋ฉด ์ฐ๋ฆฌ๋ mypy์ ์ ํ ๊ฒ์ฌ ์์ญ์ ํต์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋์ ๋ ๋นจ๋ฆฌ ์ถ๊ฐํ์ด์ผ ํ๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฐ๋ฆฌ ์์
์ด ํจ์ฌ ๋ ์์ธก ๊ฐ๋ฅํด์ง๋๋ค.
์ค๋๋ ์ฝ๋์ ์ฃผ์์ ๋ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์์ํ์ ๋ ๊ธฐ์กด Python ์ฝ๋๋ ์ฝ 4๋ง ์ค์ด์์ต๋๋ค. ์ด ๋ชจ๋ ์ฝ๋์ ์ฃผ์์ ๋ค๋ ๊ฒ์ด ์ฌ์ด ์ผ์ด ์๋๋ผ๋ ๊ฒ์ ๋ถ๋ช ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ํ ์คํธ๊ฐ ์คํ๋ ๋ ์ ํ ์ ๋ณด๋ฅผ ์์งํ๊ณ ์์ง๋ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฝ๋์ ์ ํ ์ฃผ์์ ์ถ๊ฐํ ์ ์๋ PyAnnotate๋ผ๋ ๋๊ตฌ๋ฅผ ๋ง๋ค์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ์ด ๋๊ตฌ๊ฐ ํน๋ณํ ๋๋ฆฌ ์ฑํ๋๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ง ๋ชปํ์ต๋๋ค. ์ ํ ์ ๋ณด ์์ง ์๋๊ฐ ๋๋ ธ๊ณ , ์๋์ผ๋ก ์์ฑ๋ ์ฃผ์์ ์๋์ผ๋ก ํธ์งํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฝ๋๋ฅผ ๊ฒํ ํ ๋๋ง๋ค ์ด ๋๊ตฌ๋ฅผ ์๋์ผ๋ก ์คํํ๊ฑฐ๋ ์ค์ ๋คํธ์ํฌ ์์ฒญ์ ์๋ ๋ถ์์ ๊ธฐ๋ฐ์ผ๋ก ์ ํ ์ ๋ณด๋ฅผ ์์งํ๋ ๋ฐฉ๋ฒ์ ๊ณ ๋ คํ์ง๋ง ๋ ๊ฐ์ง ์ ๊ทผ ๋ฐฉ์ ์ค ํ๋๊ฐ ๋๋ฌด ์ํํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ๋๋ถ๋ถ์ ์ฝ๋๋ ์์ ์๊ฐ ์๋์ผ๋ก ์ฃผ์์ ์ถ๊ฐํ์์ ์ ์ ์์ต๋๋ค. ์ด ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ์๋ดํ๊ธฐ ์ํด ์ฃผ์์ ๋ฌ์์ผ ํ๋ ํนํ ์ค์ํ ๋ชจ๋๊ณผ ๊ธฐ๋ฅ์ ๋ํ ๋ณด๊ณ ์๋ฅผ ์ค๋นํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์๋ฐฑ ๊ณณ์์ ์ฌ์ฉ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋์ ๋ํ ์ ํ ์ฃผ์์ ์ ๊ณตํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ํ์ง๋ง ์๋ก์ด ์๋น์ค๋ก ๊ต์ฒด๋๋ ๊ธฐ์กด ์๋น์ค์๋ ์ฃผ์์ ์ถ๊ฐํ๋ ๊ฒ์ด ๋ ์ด์ ์ค์ํ์ง ์์ต๋๋ค. ๋ํ ์ฐ๋ฆฌ๋ ๋ ๊ฑฐ์ ์ฝ๋์ ๋ํ ์ ํ ์ฃผ์์ ์์ฑํ๊ธฐ ์ํด ์ ์ ๋ถ์์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์คํํ๊ณ ์์ต๋๋ค.
์ฃผ๊ธฐ์ ์์ . ์์์ ๋๋ mypy์ ์๋๋ฅผ ๋์ด๋ ๊ฒ์ ์ด๋ ต๊ฒ ๋ง๋๋ ์ํ ๊ฐ์ ธ์ค๊ธฐ("์ข ์์ฑ ์ํด")์ ๋ํด ์ด์ผ๊ธฐํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ํ mypy๊ฐ ์ด๋ฌํ ์ํ ๊ฐ์ ธ์ค๊ธฐ๋ก ์ธํด ๋ฐ์ํ๋ ๋ชจ๋ ์ข ๋ฅ์ ๊ด์ฉ์ด๋ฅผ ์ง์ํ๋๋ก ์ด์ฌํ ๋ ธ๋ ฅํด์ผ ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ต๊ทผ ์ํ ๊ฐ์ ธ์ค๊ธฐ์ ๊ด๋ จ๋ ๋๋ถ๋ถ์ mypy ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ฃผ์ ์์คํ ์ฌ์ค๊ณ ํ๋ก์ ํธ๋ฅผ ์๋ฃํ์ต๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ ์ค์ ๋ก ํ๋ก์ ํธ ์ด๊ธฐ๋ถํฐ ๋ฐ์ํ์ต๋๋ค. ์ฆ, mypy ํ๋ก์ ํธ๊ฐ ์๋ ์ค์ ์ ๋์๋ ๊ต์ก ์ธ์ด์ธ Alore์์ ๋น๋กฏ๋์์ต๋๋ค. Alore ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ฉด ์ํ ๊ฐ์ ธ์ค๊ธฐ ๋ช ๋ น ๊ด๋ จ ๋ฌธ์ ๋ฅผ ์ฝ๊ฒ ํด๊ฒฐํ ์ ์์ต๋๋ค. ์ต์ mypy๋ ์ด์ ์ ๋จ์ํ ๊ตฌํ(Alore์ ๋งค์ฐ ์ ํฉํจ)์์ ๋ช ๊ฐ์ง ์ ํ ์ฌํญ์ ๋ฌผ๋ ค๋ฐ์์ต๋๋ค. Python์์๋ ํํ์์ด ๋ชจํธํ๊ธฐ ๋๋ฌธ์ ์ํ ๊ฐ์ ธ์ค๊ธฐ ์์ ์ ์ด๋ ต๊ฒ ๋ง๋ญ๋๋ค. ์๋ฅผ ๋ค์ด ํ ๋น ์์ ์ ์ค์ ๋ก ์ ํ ๋ณ์นญ์ ์ ์ํ ์ ์์ต๋๋ค. ๋๋ถ๋ถ์ ๊ฐ์ ธ์ค๊ธฐ ๋ฃจํ๊ฐ ์ฒ๋ฆฌ๋ ๋๊น์ง Mypy๊ฐ ํญ์ ์ด์ ๊ฐ์ ๊ฒ์ ๊ฐ์งํ ์ ์๋ ๊ฒ์ ์๋๋๋ค. Alore์๋ ๊ทธ๋ฌํ ๋ชจํธํจ์ด ์์์ต๋๋ค. ์์คํ ๊ฐ๋ฐ ์ด๊ธฐ ๋จ๊ณ์์ ๋ด๋ฆฐ ์๋ชป๋ ๊ฒฐ์ ์ ์๋ ํ ํ๋ก๊ทธ๋๋จธ์๊ฒ ๋ถ์พํ ๋๋ผ์์ ์ ์ฌํ ์ ์์ต๋๋ค.
๊ฒฐ๊ณผ: 5๋ง ์ค์ ์ฝ๋์ ์๋ก์ด ์งํ์ ํฅํ ๊ธธ
mypy ํ๋ก์ ํธ๋ ์ด๊ธฐ ํ๋กํ ํ์ ๋ถํฐ 4๋ง ๋ผ์ธ์ ์์ฐ ์ฝ๋ ์ ํ์ ์ ์ดํ๋ โโ์์คํ ์ ์ด๋ฅด๊ธฐ๊น์ง ๋จผ ๊ธธ์ ๊ฑธ์ด์์ต๋๋ค. mypy๊ฐ ๋ฐ์ ํ๋ฉด์ Python์ ์ ํ ํํธ๊ฐ ํ์คํ๋์์ต๋๋ค. ์์ฆ Python ์ฝ๋ ์ ๋ ฅ์ ์ค์ฌ์ผ๋ก ๊ฐ๋ ฅํ ์ํ๊ณ๊ฐ ๊ฐ๋ฐ๋์์ต๋๋ค. ์ฌ๊ธฐ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ง์ ๊ณต๊ฐ์ด ์๊ณ , IDE ๋ฐ ํธ์ง๊ธฐ๋ฅผ ์ํ ๋ณด์กฐ ๋๊ตฌ๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ, ๊ฐ๊ฐ ์ฅ๋จ์ ์ด ์๋ ์ฌ๋ฌ ์ ํ ์ ์ด ์์คํ ์ด ์์ต๋๋ค.
Dropbox์์๋ ์ ํ ๊ฒ์ฌ๊ฐ ์ด๋ฏธ ์ ๊ณต๋๊ณ ์์ง๋ง ์์ง์ Python ์ฝ๋๋ฅผ ์ ๋ ฅํ๋ ์ด๊ธฐ ๋จ๊ณ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ ํ ๊ฒ์ฌ ๊ธฐ์ ์ ๊ณ์ ๋ฐ์ ํ๊ณ ๊ฐ์ ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋๊ท๋ชจ Python ํ๋ก์ ํธ์์ ์ ํ ๊ฒ์ฌ๋ฅผ ์์ง ์ฌ์ฉํ์ง ์์๋ค๋ฉด ์ง๊ธ์ด ์ ์ ์ ํ ์ง์ ์ผ๋ก ์ ํํ๊ธฐ ๊ฐ์ฅ ์ข์ ์๊ธฐ๋ผ๋ ์ ์ ์์ ๋์ญ์์ค. ๋๋ ๋น์ทํ ์ ํ์ ํ ์ฌ๋๋ค๊ณผ ์ด์ผ๊ธฐ๋ฅผ ๋๋ด์ต๋๋ค. ๊ทธ๋ค ์ค ๋๊ตฌ๋ ๊ทธ๊ฒ์ ํํํ์ง ์์์ต๋๋ค. ์ ํ ๊ฒ์ฌ๋ฅผ ํตํด Python์ "์ผ๋ฐ Python"๋ณด๋ค ๋๊ท๋ชจ ํ๋ก์ ํธ๋ฅผ ๊ฐ๋ฐํ๋ ๋ฐ ํจ์ฌ ๋ ์ ํฉํ ์ธ์ด์ ๋๋ค.
๋ ์ ์ฌ๋ฌ๋ถ! Python ํ๋ก์ ํธ์์ ์ ํ ๊ฒ์ฌ๋ฅผ ์ฌ์ฉํฉ๋๊น?
์ถ์ฒ : habr.com