์ฌ๋ฌ ํ๋ก์ ํธ๋ฅผ ๋์์ ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด ํจํค์ง ๋ฒ์ ์ถฉ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.ํ๋์ ํ์ด์ฌ ํ๊ฒฝ์ ๋ ๋ฒ์ ์ ๋์์ ์ค์นํ ์ ์๊ธฐ ๋๋ฌธ์, ํ๋ก์ ํธ๋ง๋ค ๋ ๋ฆฝ๋ ๊ณต๊ฐ์ ๋ง๋ค์ด ๊ฐ๊ฐ์ ํจํค์ง๋ฅผ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ๊ฐ์ ํ๊ฒฝ์ ์ญํ ์ ๋๋ค.ํ์ด์ฌ 3.3๋ถํฐ ๋ด์ฅ ๋ชจ๋
๋๊ธฐ(Synchronous) ๋ ํน์ ์์ ์ด ๋๋์ผ ๋ค์ ์์ ์ ์ฒ๋ฆฌํ๋ ์์ฐจ ์ฒ๋ฆฌ ๋ฐฉ์์ ๋๋ค. ๋ฐ๋ฉด ๋น๋๊ธฐ(Asynchronous) ๋ ์ฌ๋ฌ ์์ ์ ๋์์ ์ฒ๋ฆฌํ๋๋ก ๋งก๊ฒจ๋๊ณ , ์์ ์ด ๋๋๋ฉด ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ ๋ฐฉ์์ ๋๋ค.ํ์ผ ์ฝ๊ธฐ, ๋คํธ์ํฌ ์์ฒญ์ฒ๋ผ I/O ๋๊ธฐ ์๊ฐ์ด ๊ธด
ํ์ด์ฌ์์๋ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด์ ๋๋ค. ์ฐ๋ฆฌ๊ฐ ๋ง๋๋ ํด๋์ค ์์ฒด๋ ๊ฐ์ฒด์ด๋ฉฐ, ๊ทธ ํด๋์ค๋ฅผ ๋ง๋๋ ๊ฒ์ด ๋ฐ๋ก ๋ฉํํด๋์ค์ ๋๋ค.ํ์ด์ฌ์ ๊ธฐ๋ณธ ๋ฉํํด๋์ค๋ type์ ๋๋ค. ์ฐ๋ฆฌ๊ฐ class ํค์๋๋ก ํด๋์ค๋ฅผ ๋ง๋ค ๋ ๋ด๋ถ์ ์ผ๋ก type์ด ๋์ํ๊ณ ์์ต๋๋ค.๋ฉํํด๋์ค๋ ํด๋์ค์
๋ชจ๋(Module) ์ ๊ฐ์ข ๋ณ์, ํจ์, ํด๋์ค๋ฅผ ๋ด๊ณ ์๋ ํ์ด์ฌ ํ์ผ(.py) ์ ๋๋ค. ํจํค์ง(Package) ๋ ์ฌ๋ฌ ๋ชจ๋์ ๋ฌถ์ด๋์ ๋๋ ํ ๋ฆฌ ๋จ์์ ๋๋ค.๋ด์ฅ ํจ์๋ง์ผ๋ก๋ ํ๊ณ๊ฐ ์๊ธฐ ๋๋ฌธ์, ํ์ด์ฌ์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๋ํํฐ ํจํค์ง๋ฅผ ํตํด ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณต
์ ๊ทํํ์์ ์ผ์ ํ ๊ท์น์ ๊ฐ์ง ๋ฌธ์์ด์ ํํํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ณต์กํ ๋ฌธ์์ด ์์์ ํน์ ํจํด์ ๊ฒ์, ์ถ์ถ, ์นํํ ๋ ์ฌ์ฉํฉ๋๋ค. ํ์ด์ฌ์์๋ re ๋ชจ๋์ ์ฌ์ฉํฉ๋๋ค.
๋ฐ์ฝ๋ ์ดํฐ๋ ํจ์๋ฅผ ๊ฐ์ธ๋ ํํ๋ก ๊ตฌ์ฑ๋์ด, ๊ธฐ์กด ํจ์๋ฅผ ์์ ํ์ง ์์ผ๋ฉด์ ์ถ๊ฐ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋ ์ฌ์ฉํฉ๋๋ค. ์ด์ ์ ๋ฐฐ์ด ํด๋ก์ ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋์ํฉ๋๋ค.@ ๋ฌธ๋ฒ์ ์ฌ์ฉํ๋ฉด ์ ์ฝ๋๋ฅผ ํจ์ฌ ๊ฐ๊ฒฐํ๊ฒ ํํํ ์ ์์ต๋๋ค.์๋ณธ ํจ์์ ๋งค๊ฐ๋ณ์์ ๋ฐํ๊ฐ์ ๊ทธ๋๋ก ์ฒ๋ฆฌํ๋ ค๋ฉด w
์ผ๋ฐ์ ์ธ ํจ์ ํธ์ถ ๋ฐฉ์์ ์๋ธ ๋ฃจํด(Subroutine) ์ด๋ผ๊ณ ํฉ๋๋ค. ๋ฉ์ธ ๋ฃจํด์ด ์๋ธ ๋ฃจํด์ ํธ์ถํ๋ฉด ์๋ธ ๋ฃจํด์ ์ฝ๋๋ฅผ ์คํํ ๋ค ๋ฉ์ธ ๋ฃจํด์ผ๋ก ๋์์ค๋ฉฐ, ์๋ธ ๋ฃจํด์ด ๋๋๋ฉด ๊ทธ ์์ ๋ด์ฉ์ ๋ชจ๋ ์ฌ๋ผ์ง๋๋ค. ์ฆ, ๋ฉ์ธ ๋ฃจํด์ ์ข ์๋ ๊ด๊ณ์ ๋๋ค.๋ฐ๋ฉด ์ฝ๋ฃจํด(C
์ ๋๋ ์ดํฐ๋ ์ดํฐ๋ ์ดํฐ๋ฅผ ์์ฑํด์ฃผ๋ ํจ์์ ๋๋ค. ํจ์ ์์์ yield ํค์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๊ทธ ํจ์๋ ์ ๋๋ ์ดํฐ๊ฐ ๋ฉ๋๋ค.๊ฐ์ ๋์์ ํจ์ฌ ์ ์ ์ฝ๋๋ก ํํํ ์ ์์ต๋๋ค.yield ๋ค์ ํจ์๋ฅผ ํธ์ถํ๋ฉด ํด๋น ํจ์์ ๋ฐํ๊ฐ์ด ๋ฐ๊นฅ์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค.
์ดํฐ๋ ์ดํฐ(Iterator) ๋ ๊ฐ์ ์ฐจ๋ก๋๋ก ๊บผ๋ผ ์ ์๋ ๊ฐ์ฒด์ ๋๋ค. ํ์ด์ฌ์์๋ ์ดํฐ๋ ์ดํฐ๋ฅผ ๋ง๋ค์ด๋๊ณ ๊ฐ์ด ํ์ํ ์์ ์ด ๋์์ ๋ ๋น๋ก์ ๊ฐ์ ์์ฑํฉ๋๋ค. ์ด์ฒ๋ผ ๋ฐ์ดํฐ ์์ฑ์ ๋ค๋ก ๋ฏธ๋ฃจ๋ ๋ฐฉ์์ ์ง์ฐ ํ๊ฐ(Lazy Evaluation) ๋ผ๊ณ ํฉ๋๋ค.๋๋ถ์ ๋ฐ
์์ธ(Exception) ๋ ์ฝ๋๋ฅผ ์คํํ๋ ์ค์ ๋ฐ์ํ๋ ์๋ฌ๋ฅผ ๋ปํฉ๋๋ค. ์์ธ๊ฐ ๋ฐ์ํ๋ฉด ํ๋ก๊ทธ๋จ์ด ๊ทธ ์๋ฆฌ์์ ๋ฉ์ถฐ๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์, ์์ธ ์ฒ๋ฆฌ๋ฅผ ํตํด ํ๋ก๊ทธ๋จ์ด ์ค๋จ๋์ง ์๊ณ ๊ณ์ ์คํ๋ ์ ์๋๋ก ๋์ํด์ค์ผ ํฉ๋๋ค.as ํค์๋๋ก ๋ณ์๋ฅผ ์ง์ ํ๋ฉด ๋ฐ์ํ ์์ธ์ ์๋ฌ
ํด๋์ค ์์์ ๊ธฐ์กด ํด๋์ค์ ๊ธฐ๋ฅ์ ์ ์งํ ์ฑ๋ก ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๋ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ๋ฅ์ ๋ฌผ๋ ค์ฃผ๋ ์ชฝ์ ๊ธฐ๋ฐ ํด๋์ค(Base Class), ์์๋ฐ์ ์๋กญ๊ฒ ๋ง๋๋ ์ชฝ์ ํ์ ํด๋์ค(Derived Class) ๋ผ๊ณ ํฉ๋๋ค.์์์ ์ฌ์ฉํ๋ฉด ๊ธฐ์กด ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ ์ ์์ด
ํด๋์ค ์์ฑ์ \_\_init\_\_ ๋ฐ์์ ํด๋์ค์ ๋ฐ๋ก ์ ์ธํ๋ ์์ฑ์ ๋๋ค. ํด๋์ค์ ์ํด ์์ผ๋ฉฐ ๋ชจ๋ ์ธ์คํด์ค๊ฐ ๊ณต์ ํฉ๋๋ค. ๋ฐ๋ฉด ์ธ์คํด์ค ์์ฑ์ ์ธ์คํด์ค๋ณ๋ก ๋ ๋ฆฝ๋์ด ์์ด ์๋ก ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค.
ํด๋์ค(Class) ๋ ๊ฐ์ฒด๋ฅผ ํํํ๊ธฐ ์ํ ๋ฌธ๋ฒ์ ๋๋ค. ์ฌ๊ธฐ์ ๊ฐ์ฒด(Object) ๋ ํน์ ํ ๊ฐ๋ ์ด๋ ๋ชจ์์ผ๋ก ์กด์ฌํ๋ ๊ฒ์ ๋งํฉ๋๋ค.์๋ฅผ ๋ค์ด ํ์ค ์ธ๊ณ์ "์ฌ๋"์ด๋ผ๋ ๊ฐ๋ ์ ์ฝ๋๋ก ํํํ๋ฉด, ์ด๋ฆยท๋์ด ๊ฐ์ ์์ฑ(Attribute) ๊ณผ ๋งํ๊ธฐยท๊ฑท๊ธฐ ๊ฐ์ ๋ฉ์๋(
์ ์ญ ๋ณ์(Global Variable) ๋ ํจ์๋ฅผ ํฌํจํ ์คํฌ๋ฆฝํธ ์ ์ฒด์์ ์ ๊ทผํ ์ ์๋ ๋ณ์์ ๋๋ค. ๋ฐ๋ฉด ์ง์ญ ๋ณ์(Local Variable) ๋ ๋ณ์๋ฅผ ๋ง๋ ํจ์ ์์์๋ง ์ ๊ทผํ ์ ์์ผ๋ฉฐ, ์ด ๋ฒ์๋ฅผ ์ง์ญ ๋ฒ์(Local Scope) ๋ผ๊ณ ํฉ๋๋ค.nonloc
๋๋ค ํํ์์ def ํค์๋ ์์ด ํจ์๋ฅผ ์(expression) ํํ๋ก ๊ฐ๊ฒฐํ๊ฒ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ด๋ฆ์ด ์๋ ํจ์๋ฅผ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ์ต๋ช ํจ์(Anonymous Function) ๋ผ๊ณ ๋ ๋ถ๋ฆ ๋๋ค.๊ธฐ๋ณธ ๋ฌธ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.์ค์ ๋ก ์์ฑํด๋ณด๋ฉด ์๋์ ๊ฐ์ต๋๋ค.์ด๋ฆ์ด
์ฌ๊ท ํธ์ถ์ด๋ ํจ์ ๋ด๋ถ์์ ์๊ธฐ ์์ ์ ๋ค์ ํธ์ถํ๋ ๋ฐฉ์์ ๋๋ค. ๋ฐ๋ณต์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ๋ฌธ์ ๋ฅผ ๊ฐ๊ฒฐํ๊ฒ ํํํ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.์๋๋ ํฉํ ๋ฆฌ์ผ(n!)์ ์ฌ๊ท ํธ์ถ๋ก ๊ตฌํํ ์์์ ๋๋ค.์ฌ๊ท ํธ์ถ์ ๋ฐ๋ณต๋ฌธ(for, while)์ผ๋ก๋ ๋์ผํ๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค
ํจ์์ ์ธ์๋ฅผ ์์๋๋ก ๋ฃ๋ ๋ฐฉ์์ ์์น ์ธ์๋ผ๊ณ ํฉ๋๋ค. ์ธ์์ ์์น๊ฐ ๊ณง ๋งค๊ฐ๋ณ์์์ ๋์์ ๊ฒฐ์ ํฉ๋๋ค.์ธ์๋ฅผ ์์๋๋ก ๋ฃ์ ๋ ๋ฆฌ์คํธ๋ ํํ ์์ ์ ์คํฐ๋ฆฌ์คํฌ(\*)๋ฅผ ๋ถ์ด๋ฉด ์์๋ค์ด ํ๋ ค์ ๊ฐ๊ฐ์ ์ธ์๋ก ์ ๋ฌ๋ฉ๋๋ค. ์ด๋ฅผ ์ธํจํน(unpacking)์ด๋ผ ํฉ๋๋ค.์ธ

ํ์ด์ฌ์์ ํจ์(function)๋ ํน์ ์ฉ๋์ ์ฝ๋๋ฅผ ํ ๊ณณ์ ๋ชจ์ ๋์ ๊ฒ์ ๋๋ค. ๋ฐ๋ณต๋๋ ์ฝ๋๋ฅผ ํจ์๋ก ๋ง๋ค์ด๋๋ฉด ์ฌ์ฌ์ฉ์ด ์ฌ์์ง๊ณ , ์ฝ๋์ ๊ฐ๋ ์ฑ๋ ๋์์ง๋๋ค.def ํค์๋์ ํจ์ ์ด๋ฆ์ ์ง์ ํ๊ณ ()์ ์ฝ๋ก :์ ๋ถ์ธ ๋ค, ๋ค์ ์ค์ ์ํ๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
ํ์ผ์ ๋ฌธ์์ด์ ์ธ ๋๋ open ํจ์๋ก ํ์ผ์ ์ด์ด ํ์ผ ๊ฐ์ฒด๋ฅผ ์ป์ ๋ค, write ๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์์ ์ด ๋๋๋ฉด ๋ฐ๋์ close๋ก ํ์ผ์ ๋ซ์์ค์ผ ํฉ๋๋ค.ํ์ผ์ ์ด๊ณ ๋ซ๋ ๊ฒ์ ๋งค๋ฒ ์๋์ผ๋ก ํ๋ฉด close๋ฅผ ๋นผ๋จน๊ธฐ ์ฝ์ต๋๋ค. with as ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ฉด
ํ์ด์ฌ์ ์ํ์ ์งํฉ์ ํํํ๋ ์ธํธ(set)๋ผ๋ ์๋ฃํ์ ์ ๊ณตํฉ๋๋ค. {} ์ค๊ดํธ ์์ ๊ฐ์ ์ ์ฅํ๋ฉฐ, ๊ฐ ๊ฐ์ ,(์ฝค๋ง)๋ก ๊ตฌ๋ถํฉ๋๋ค.for ๋ฐ๋ณต๋ฌธ๊ณผ if ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํ์ฌ ์ธํธ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ๊ณผ ๋ฌธ๋ฒ์ด ๋์ผํ์ง๋ง, \[] ๋์ {}๋ฅผ ์ฌ์ฉ