[Python] Type hinting

동적 νƒ€μž…μ€ 독이 λ“  사과와도 같은 μ‘΄μž¬λ‹€.

Python, PHP, Javascript λ“± λŒ€λΆ€λΆ„μ˜ λ™μ νƒ€μž… 언어듀이 λ™μ νƒ€μ΄ν•‘μ˜ 고톡을 뼈져리게 κΉ¨λ‹«κ³  타이핑 κΈ°λŠ₯을 μ–΄λ–€ ν˜•νƒœλ‘œλ“  μΆ”κ°€ν–ˆλ‹€λŠ” μ μ—μ„œ 단언할 수 μžˆλ‹€.

Pythonκ³Ό PHPλŠ” μ–Έμ–΄ μžμ²΄μ— νžŒνŒ… κΈ°λŠ₯을 μΆ”κ°€ν–ˆκ³ , JavascriptλŠ” Typescript둜의 λŒ€νƒˆμΆœμ„ μ‹œλ„ν–ˆλ‹€.

Python은 버전 3.5λΆ€ν„° 지원을 μ‹œμž‘ν–ˆκ³ , 3.6μ—μ„œ 쑰금 정리가 됐닀.
κ·Έλž˜μ„œ νƒ€μž…νžŒνŒ…μ„ 적극 ν™œμš©ν•˜λ €λ©΄ 3.6 이상을 μ“°λŠ” 편이 μ’‹λ‹€.




λ³€μˆ˜μ˜ νƒ€μž…

λ³€μˆ˜μ—λŠ” : 였λ₯Έμͺ½μ— νƒ€μž…λͺ…을 λΆ™μ΄λŠ” κ²ƒμœΌλ‘œ νƒ€μž…μ„ λΆ€μ—¬ν•  수 μžˆλ‹€.




ν•¨μˆ˜μ˜ νƒ€μž…

ν•¨μˆ˜λŠ” μ΄λ ‡κ²Œ ν•  수 μžˆλ‹€.
λ§μ…ˆ ν•¨μˆ˜μ— νƒ€μž…νžŒνŠΈλ₯Ό 뢙인 μ˜ˆμ‹œλ‹€.




νƒ€μž… 힌트? 체크?

타이핑이라고 ν•΄μ„œ λŒ€λ‹¨ν•œ κΈ°λŠ₯을 κΈ°λŒ€ν–ˆλ‹€λ©΄ 싀망할 수 μžˆμ§€λ§Œ, 이건 κ·Έλƒ₯ νžŒνŠΈμ— λΆˆκ³Όν•˜λ‹€...
κ·Έλž˜μ„œ νƒ€μž…μ΄ λ§žμ§€ μ•ŠλŠ”κ±Έ μ–΅μ§€λ‘œ λŒλ €λ„ 였λ₯˜λ‚˜ κ²½κ³  없이 잘만 λŒμ•„κ°„λ‹€.

κ·Έλƒ₯ μžλ™μ™„μ„±μ΄λ‚˜ 가독성 μ •λ„λ§Œμ„ μœ„ν•œ κΈ°λŠ₯이기 λ•Œλ¬Έμ΄λ‹€.

κ·Έλ ‡κΈ° λ•Œλ¬Έμ— νŒŒμ΄μ¬μ€ μ—¬μ „νžˆ 동적 νƒ€μž… μ–Έμ–΄κ³ , 정적타이핑을 μ œκ³΅ν•œλ‹€κ³  말할 μˆ˜λŠ” μ—†λ‹€.

μ œλŒ€λ‘œλœ νƒ€μž…μ²΄ν¬λ₯Ό μ›ν•œλ‹€λ©΄ μ½”λ“œμ—μ„œ 직접 체크λ₯Ό ν•˜λ“ μ§€, 별도 도ꡬ 등을 ν™œμš©ν•΄μ•Ό ν•œλ‹€.




νƒ€μž…λͺ…

primitive νƒ€μž…λ“€μ€ μ΄λ ‡κ²Œ μ •μ˜κ°€ λœλ‹€.

https://www.w3schools.com/python/python_datatypes.asp




μ»¬λ ‰μ…˜ νƒ€μž…

Python의 Type hintλŠ” μ œλ„ˆλ¦­ κΈ°λŠ₯도 μ œκ³΅ν•œλ‹€.
κ·Έλž˜μ„œ λ§Œμ•½ μ •μˆ˜ 배열을 νƒ€μž…μœΌλ‘œ λ„£κ³  μ‹Άλ‹€λ©΄, μ΄λ ‡κ²Œ ν•˜λ©΄ λœλ‹€.