ํฐ์คํ ๋ฆฌ ๋ทฐ
๐ ํ์ด์ฌ์ ๊ฐ์ (ํน์ง, ์ฅ๋จ์ , ๋ฐฐ๊ฒฝ ๋ฑ)
์ ์คํฌ๋ฆฝํธ ์ธ์ด (์ = ๋ช
๋ น ํด์๊ธฐ ์ฐฝ)
โจ ๋ช
๋ น์ด๋ฅผ ์์ฐจ์ ์ผ๋ก ๋์ดํด์ ์ด์์ฒด์ ๊ฐ ์ด๋ค ์์๋ก ๋์ฅํด์ผ ํ๋์ง ๋ช
๋ น์ด๋ฅผ ์งํฉ์ผ๋ก ๋ง๋ค์ด ๋์ ํํ
* Pythonic
• ๋ ๋ฆฝ์
• ์คํ์์ค
• ์ธ๊ฐ์ (์ง๊ด์ ๋ฌธ๋ฒ)
โข ์์ฐ์ด์ ๊ฐ๊น์
โข ์คํํ ์ ์๋ ์์ฌ ์ฝ๋(Executable pseudocode) ์์ค์ ๋ฌธ๋ฒ
• ์ ์์ฑ (๋ฐ์ด๋ ์์ฐ์ฑ)
โข C์ธ์ด์ Python์ ๊ณต๋ฐฑ์ ์๋ฏธ์ ํฐ ์ฐจ์ด๊ฐ ์๋ค
• ๋ํ ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ๆ
๐ ํ์ด์ฌ ๋จ์
• C๋ Java ๋ฑ์ผ๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ๋ณด๋ค ๋๋ฆผ
• ์์ ํ ์ ํ๋ฆฌ์ผ์ด์
๋จ๋
๊ฐ๋ฐ ๋ถ๊ฐ๋ฅ
โข ์ ์คํฌ๋ฆฝํธ ์ธ์ด ์ฉ์ผ๋ก ๊ฐ๋ฐ
โข ๋ชจ๋ฐ์ผ ์ฑ, ์์ฉ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ ๋ถ๊ฐ๋ฅ
๐ ํ์ด์ฌ ํ๋ก๊ทธ๋จ์ ์คํ
๐ ํ์ด์ฌ ์คํ ํ๊ฒฝ
• ํ๋ซํผ์ ๋ ๋ฆฝ์
โข ์ด๋ค ์ด์์ฒด์ ๋ ์ปดํ์ผ ์์ด ์คํ ๊ฐ๋ฅ
• ์ธํฐํ๋ฆฌํฐ์ ๊ฐ์ฒด์งํฅ์
โข CPython, PyPy, Cython, Jython ๋ฑ
โข ํ๋ก๊ทธ๋จ์ ๋ชจ๋ ๊ฐ์ฒด๋ก ๋ชจ๋ธ๋ง
• ๋์ ํ์ดํ
โข ๋ณ์ ์๋ฃํ์ ์ง์ ํ์ง ์์
• ๋ํํ ์ธ์ด
โข ์์ฑ ์ฝ๋ ์ํ ๊ฒฐ๊ณผ ๋ฐ๋ก ํ์ธ-๋๋ฒ๊น ํ๋ ๋ฑ ์ฝ๋ ์์ฑ ๊ฐ๋ฅ
๐ CPython
โจ C ์ธ์ด๋ก ๊ฐ๋ฐ๋ ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ
์ปดํ์ผ๋ฌ์ ์ ํ โ ์ ํ ํธ์คํ ์ปดํ์ผ๋ฌ : ๋ถํธ์คํธ๋ํ ๋จ๊ณ๋ฅผ ํตํด ์์ ์ ์ธ์ด๋ก ์์ฑํ ์ปดํ์ผ๋ฌ โก ์์ค ๋ ์์ค ์ปดํ์ผ๋ฌ : ํ ์ธ์ด๋ก ์์ฑํ ์ปดํ์ผ๋ฌ |
๐ ํ์ด์ฌ ํ๋ก๊ทธ๋จ ์คํ๊ณผ์
โจ ํ์ด์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ค ์ฝ๋ ํํ๋ก ๋ฐฐํฌ
โข CPython์ด ์ปดํ์ผ ํ ๋ฐ์ดํธ์ฝ๋(.pyc ํ์ผ) ์์ฑ
โข ํ์ด์ฌ ๊ฐ์๋จธ์ (PVM)์ ๋ฐ์ดํธ์ฝ๋๋ฅผ ํ ๋ผ์ธ์ฉ ์คํ
โข ๋ณ๊ฒฝ ์์ด ์ฌ์คํ ์ ๋ฐ์ดํธ์ฝ๋๋ก ๋น ๋ฅด๊ฒ ์คํ
๐ ํ์ด์ฌ ํ๋ก๊ทธ๋๋ฐ ํ๊ฒฝ
๐ IDLE
โจ ๊ธฐ๋ณธ์ผ๋ก ํฌํจ๋ ํ์ด์ฌ ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ
๐ ์ฃผํผํฐ ๋ ธํธ๋ถ
โจ ํ์ด์ฌ ๋น๋กฏํ 40์ฌ๊ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ง์
โจ ์ ํต์ ์ธ '์์ค์ฝ๋-์ปดํ์ผ-์คํ' ๋ฐฉ์์์ ๋ฒ์ด๋ ์น ๊ธฐ๋ฐ ๋ํํ ๊ฐ๋ฐ ๋ฐ ์คํ ํ๊ฒฝ
โซ ์ธํฐํ๋ฆฌํฐ๋ก IPython ์ฌ์ฉ
โจ ๋ฌธ์ํ ํ์ฌ ํ์ธ๊ณผ ๊ณต์ ํธ๋ฆฌ
โจ ๋งํฌ๋ค์ด(Markdown) ์ด์ฉ์ผ๋ก ์ฝ๋ ๊ด๋ จ ํ์ดํ, ์ค๋ช ๋ฑ ์์ฑ ๊ฐ๋ฅ
๐ ๊ตฌ๊ธ Colab
โจ 2017๋ ๊ณผํ ์ฐ๊ตฌ, ๊ต์ก ๋ชฉ์ ์ผ๋ก ๊ฐ๋ฐ (ํ์ )
โจ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์ฃผํผํฐ ๋
ธํธ๋ถ ๊ฐ๋ฐ ํ๊ฒฝ
โซ ์ฃผํผํฐ ๋
ธํธ๋ถ + ๊ตฌ๊ธ ๋๋ผ์ด๋ธ ๊ฒฐํฉ ์๋น์ค
โซ ๋ฐ์ดํฐ ๋ถ์ ๋ฐ ๋ฅ๋ฌ๋ ์ฐ์ฐ ๋ฑ ๊ณ ์ฑ๋ฅ ์ปดํจํ
๋ฆฌ์์ค ํ์ฉ ๊ฐ๋ฅ