ÆÄÀ̽ãÀ» »ç¿ëÇÏ¸é¼ PythonicÀ̳ª Pythonista¶õ ´Ü¾î¸¦ º» ÀûÀÌ ÀÖ³ª¿ä? ÀÌ ´Ü¾î´Â ÆÄÀ̽ãÀÇ ¾î¶² Ưº°ÇÑ ±â´ÉÀ̳ª ±â¼úÀ» ÀǹÌÇÏ´Â °ÍÀÌ ¾Æ´Ñ ÆÄÀ̽ãÀ» Àß »ç¿ëÇÏÀÚ´Â ÃëÁö¿¡¼ ³ª¿Â ´Ü¾îÀÔ´Ï´Ù. PythonicÀÇ »çÀüÀû Á¤ÀÇ´Â °ü½ÀÀûÀ¸·Î »ç¿ëµÇ´Â ÆÄÀ̽ãÀÇ »ç¿ë ¹æ¹ýÀ¸·Î, ÆÄÀ̽ãÀ» ÆÄÀ̽ã´ä°í, ÆÄÀ̽㽺·´°Ô »ç¿ëÇϱâ À§ÇÑ ÄÚµå ÀÛ¼º °¡ÀÌµå ¶óÀÎÀÔ´Ï´Ù. Pythonista´Â PythonicÀ» Àß ÁöÅ°¸é¼ Äڵ带 ÀÛ¼ºÇÏ´Â ÆÄÀ̽㠰³¹ßÀÚ¸¦ ÁöĪÇÏ´Â ´Ü¾îÀÔ´Ï´Ù. PythonicÀº ÄÚµåÀÇ ½ºÅ¸ÀϻӸ¸ ¾Æ´Ï¶ó ¾Ë°í¸®ÁòÀ̳ª ·ÎÁ÷À» ±¸ÇöÇÒ ¶§ ´õ ÆÄÀ̽ã´Ù¿î ¹æ¹ýÀ¸·Î ±¸ÇöÇϵµ·Ï ¾È³»ÇÕ´Ï´Ù.
¸¹Àº ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ ÀÖÁö¸¸ ÆÄÀ̽ã°ú °°ÀÌ ÄÚµåÀÇ ½ºÅ¸ÀÏ °¡À̵å»Ó¸¸ ¾Æ´Ï¶ó Pythonic°ú °°Àº °³³äÀÌ ÀÖ´Â ¾ð¾î´Â ¸¹Áö ¾Ê½À´Ï´Ù. ±×·¸´Ù¸é ¿Ö À¯´Þ¸® ÆÄÀ̽㿡¸¸ ÀÌ·± ¿ë¾î, °³³äµéÀÌ ÀÖÀ»±î¿ä? ±× ÀÌÀ¯´Â ¹Ù·Î ÆÄÀ̽ãÀÇ ÀÚÀ¯µµ ¶§¹®ÀÔ´Ï´Ù. ÀÌ Ã¥¿¡¼´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼ Áß¿äÇÑ °³³äÀÎ ¡®È帧 Á¦¾î¡¯¿¡ ´ëÇØ ÃÊÁ¡À» ¸ÂÃß°í, ÆÄÀ̽㿡¼ »ç¿ëµÇ´Â ÁÖ¿ä ±â¼úµéÀÇ °³³äÀ» °£´ÜÇÑ ¿¹Á¦ ÄÚµå¿Í ÇÔ²² ¼³¸íÇÏ°í ÀÖ½À´Ï´Ù.
ÆÄÀ̽ãÀ» Á» ´õ Àß »ç¿ëÇÏ°í ½Í°í, ±â¹Ý ±â¼ú¿¡ ´ëÇØ ¾Ë°í ½ÍÀ¸½Å µ¶ÀÚºÐÀ̶ó¸é ÀÌ Ã¥ÀÌ ¸¹Àº µµ¿òÀÌ µÉ °ÍÀÔ´Ï´Ù. ±×¸®°í ÆÄÀ̽ãÀ» Á» ´õ ÆÄÀ̽ã´ä°Ô »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ý°ú È¿À²ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýµµ ¼Ò°³ÇÏ°í ÀÖ½À´Ï´Ù. ÆÄÀ̽㿡 °ü½ÉÀÌ ¸¹Àº µ¶Àںеé, ÆÄÀ̽ãÀº Àß ¸ð¸£Áö¸¸ ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ °³³äµé¿¡ ´ëÇØ ±Ã±ÝÇÑ µ¶Àںе鿡°Ôµµ Ãßõµå¸³´Ï´Ù.
ÀÌ Ã¥ÀÇ Æ¯Â¡
- ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ÀüüÀûÀÎ ±¸Á¶¸¦ ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï ÇÏ¿´½À´Ï´Ù.
- ÀÌÇØÇϱ⠽¬¿î ¼³¸í°ú ±×¿¡ ´ëÇÑ ¿¹Á¦ ÄÚµå À§ÁַΠåÀ» ÀÛ¼ºÇß½À´Ï´Ù.
- ±â¼ú¸¸ÀÌ ¾Æ´Ñ, ÆÄÀ̽ãÀÌ °¡Áø öÇаú °³³äÀ» ÀÌÇØÇϵµ·Ï ±¸¼ºÇÏ¿´½À´Ï´Ù.
ÀÌ Ã¥ÀÌ ÇÊ¿äÇÑ µ¶ÀÚ
- Á¶±Ý ´õ È¿À²ÀûÀ¸·Î ÆÄÀ̽ãÀ» ÆÄÀ̽ã´ä°Ô »ç¿ëÇÏ·Á´Â °³¹ßÀÚ
- ÆÄÀ̽㿡 ´ëÇؼ Á» ´õ ¹è¿ì°í ½ÍÀº °³¹ßÀÚ
- ÆÄÀ̽ãÀ¸·Î Á» ´õ ¼¼·ÃµÇ°Ô Äڵ带 ÀÛ¼ºÇÏ°í ½Í¾î ÇÏ´Â °³¹ßÀÚ
µ¶ÀÚ´ë»ó
ÃÊÁß±Þ
¼Ò½ºÄÚµå ´Ù¿î·Îµå
https://github.com/bjpublic/pythonic/
1Àå öÇаú °³³ä
Pythonic
º¯¼ö
First-Class
Higher-Order Function
Nested Function
Closure
Partial Application
2Àå ±âº» ¹®¹ý
È帧 Á¦¾î
Decorator
Iterator
Generator
Comprehension & expression
Equality vs Identity
3Àå µ¿½Ã¼º°ú º´·Ä¼º
°³¿ä
µ¿½Ã¼º°ú º´·Ä¼º
Process & Thread
Multiprocessing & Multithreading
Multi-tasking
4Àå µ¿½Ã¼º
Thread
Multiprocessing
Coroutine
5Àå ºñµ¿±â
µ¿±â, ºñµ¿±â, ºí·Ï, ³íºí·Ï
Concurrent.futures
Asyncio
±× ¹ÛÀÇ ÆÄÀ̽㠸ðµâ