ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ Áö½ÄÀº ¾î´À Á¤µµ ÀÖÁö¸¸,ÆÄÀ̽ãÀº Àß ¸ð¸£´Â ºÐµéÀ» À§ÇÑ ½ÇõÀû ÀÔ¹®¼!¡ºÈ¿À²Àû °³¹ß·Î À̲ô´Â ÆÄÀ̽㠽Çõ ±â¼ú¡»Àº ÀÌ·± ºÐµéÀ» À§ÇÑ Àб⠽¬¿ì¸é¼µµ ¾èÁö ¾ÊÀº ÀÔ¹®¼·Î¼ ÆÄÀ̽ãÀ̶ó´Â ¾ð¾îÀÇ »ç¾ç°ú ±× Ư¡ÀûÀÎ ±â´É, Ç¥ÁØ ¶óÀ̺귯¸®¿¡ ÀÖ´Â °ÍÀ» ÁßÁ¡ÀûÀ¸·Î ´Ù·ï À¥ °³¹ß, µ¥ÀÌÅÍ ºÐ¼®, ¸Ó½Å·¯´× µî ºÐ¾ß¸¦ °¡¸®Áö ¾Ê°í È°¿ëÇÒ ¼ö ÀÖ´Ù. °¢ ´Ü°è¸¶´Ù »ùÇà ÄÚµå¿Í ÄÚ¸àÆ®°¡ ¹«¾ùÀ» ÇÏ°í ÀÖ´ÂÁö¸¦ ¸íÈ®È÷ ÆľÇÇÒ ¼ö ÀÖµµ·Ï ÀÚ¼¼ÇÏ°Ô ±â¼úÇÏ¿´°í, ÆÄÀ̽ãÀÇ ±â´É ¼³¸í¿¡¸¸ ±×Ä¡Áö ¾Ê°í ½ÇÁ¦·Î ÀÀ¿ë ÇÁ·Î±×·¥ Á¦ÀÛ±îÁö ´Ù·ç°í ÀÖ´Ù.
ÀϺ» ¿ÀÀÌŸÇö Ãâ½Å. È÷·Î½Ã¸¶ ´ëÇÐ ´ëÇпø¿¡¼ Á¤º¸°øÇÐ ¹Ú»ç °úÁ¤À» ¼ö·áÇß´Ù. Çлý ½ÃÀý¿¡ ÆÄÀ̽ãÀ» ¸¸³ ÈÄ ±× Ä¿¹Â´ÏƼÀÇ »ç»ó°ú ºÐÀ§±â¿¡ »ç·ÎÀâÇûÀ¸¸ç, À̸¦ ÅëÇØ ±â¼úÀûÀÎ ±âÃÊ Áö½ÄÀº ¹°·Ð, Ä¿¹Â´ÏƼ È°µ¿ ¹æ¹ý±îÁö ¸¹Àº °ÍÀ» ÀÍÇû´Ù. PyCon JP 2015¿¡ ÀÏ¹Ý Âü°¡ÀÚ·Î Âü°¡Çß´ø °ÍÀÌ °è±â°¡ µÇ¾î PyCon JP 2016ºÎÅÍ ½ºÅÂÇÁ³ª ¹ßÇ¥Àڷεµ Âü°¡ÇÏ°í ÀÖ´Ù. Ãë¾÷À» °è±â·Î »ó°æÇÏ°Ô µÇ¾úÀ¸³ª, ÇöÀç´Â È÷·Î½Ã¸¶Çö ¿À³ë¹ÌÄ¡½ÃÀÇ ¹«Ä«ÀÌÁö¸¶¿¡¼ ¿ÏÀü ÀçÅà ¾÷¹« ÁßÀÌ´Ù.
CHAPTER 1 ÆÄÀ̽ãÀ̶õ ¾î¶² ¾ð¾îÀΰ¡? 11.1 ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î¼ÀÇ Æ¯Â¡ 3 1.1.1 °£´ÜÇÏ°í Àб⠽¬¿î µ¿Àû ŸÀÔ ¾ð¾î 3 1.1.2 ÇÏÀ§ ȣȯ¼º Á߽à 5 1.1.3 dzºÎÇÑ Ç¥ÁØ ¶óÀ̺귯¸® 6 1.1.4 ´Ù¾çÇÑ ¿ëµµ·Î ÀÌ¿ë 61.2 ÆÄÀ̽ãÀÇ ¿ª»ç¿Í ÇöȲ 7 1.2.1 ÆÄÀ̽ã ÀÚüÀÇ ÁøÈ 8 1.2.2 ÆÄÀ̽ãÀ» µÑ·¯½Ñ ȯ°æÀÇ º¯È 91.3 ÆÄÀ̽ã Ä¿¹Â´ÏƼÀÇ Æ¯Â¡ 10 1.3.1 Ä¿¹Â´ÏƼ ÁÖü ¿ÀǼҽº ¼ÒÇÁÆ®¿þ¾î 10 1.3.2 PEPÀÇ Á¸Àç 111.4 Á¤¸® 15CHAPTER 2 ÆÄÀ̽㠼³Ä¡¿Í °³¹ßÀÚ¸¦ À§ÇÑ Æí¸®ÇÑ ±â´É 172.1 ÆÄÀ̽㠼³Ä¡ 19 2.1.1 OS¿¡ ¹Ì¸® ¼³Ä¡µÇ¾î ÀÖ´Â ÆÄÀ̽ã 19 2.1.2 macOS¿¡¼ÀÇ ÀÌ¿ë 19 2.1.3 Windows¿¡¼ÀÇ ÀÌ¿ë 21 2.1.4 Ubuntu¿¡¼ÀÇ ÀÌ¿ë 23 2.1.5 µµÄ¿ ÀÌ¿ë 242.2 ÆÄÀ̽㠽ÇÇà 28 2.2.1 ÀÌ Ã¥¿¡¼ ÀÌ¿ëÇÏ´Â ÆÄÀ̽㠸í·É¾î 28 2.2.2 ÆÄÀ̽ã ÀÎÅÍÇÁ¸®ÅÍÀÇ µÎ °¡Áö ¸ðµå 28 2.2.3 ´ëÈÇü ¸ðµå ÀÎÅÍÇÁ¸®ÅÍ 29 2.2.4 ´ëÈÇü ¸ðµåÀÇ ±âº» »ç¿ë¹ý 29 2.2.5 ´ëÈÇü ¸ðµå¿¡¼ ÀÚÁÖ »ç¿ëÇÏ´Â ³»Àå ÇÔ¼ö 31 2.2.6 ½ºÅ©¸³Æ® ½ÇÇà 35 2.2.7 python ¸í·É¾î¿Í python3 ¸í·É¾îÀÇ Â÷ÀÌ 372.3 Á¤¸® 37CHAPTER 3 Á¦¾î È帧 393.1 ±âº» ¹®¹ý 41 3.1.1 µé¿©¾²±â¸¦ »ç¿ëÇÑ ºí·Ï Ç¥Çö 41 3.1.2 º¯¼ö ÀÌ¿ë 43 3.1.3 ÁÖ¼® 453.2 Á¶°Ç ºÐ±â 47 3.2.1 if ¹® ¡ª Á¶°ÇÀ» ÁöÁ¤ÇØ Ã³¸®¸¦ ºÐ±âÇÔ 473.3 ·çÇÁ ¡ª ó¸® ¹Ýº¹ 51 3.3.1 for ¹® ¡ª ¿¤¸®¸ÕÆ® ¼ö¸¸Å 󸮸¦ ¹Ýº¹ 51 3.3.2 while ¹® ¡ª Á¶°ÇÀ» ÁöÁ¤ÇØ Ã³¸®¸¦ ¹Ýº¹ 55 3.3.3 break ¹® ¡ª ·çÇÁ¸¦ ¹þ¾î³² 56 3.3.4 continue ¹® ¡ª ´ÙÀ½ ·çÇÁ·Î À̵¿ 573.4 ¿¹¿Ü ó¸® 59 3.4.1 try ¹® ¡ª ¿¹¿Ü Æ÷Âø 60 3.4.2 raise ¹® ¡ª ÀǵµÀûÀ¸·Î ¿¹¿Ü¸¦ ¹ß»ý½ÃÅ´ 65 3.4.3 »ç¿ëÀÚ ¿¹¿Ü Á¤ÀÇ 65 3.4.4 with ¹® ¡ª Á¤ÀÇÇÑ Å¬¸°¾÷ 󸮸¦ ¹Ýµå½Ã ½ÇÇàÇÔ 663.5 Á¤¸® 67CHAPTER 4 µ¥ÀÌÅÍ ±¸Á¶ 694.1 None ¡ª °ªÀÌ Á¸ÀçÇÏÁö ¾ÊÀ½À» Ç¥Çö 71 4.1.1 Á¶°Ç½Ä¿¡¼ÀÇ None ÀÌ¿ë 714.2 ³í¸´°ª ¡ª Âü/°ÅÁþÀ» ´Ù·ë 72 4.2.1 bool ŸÀÔ ¡ª ³í¸´°ªÀ» ´Ù·ç´Â ŸÀÔ 72 4.2.2 ºÒ ¿¬»ê 734.3 ¼ýÀã°ª 75 4.3.1 ¼ýÀã°ª³¢¸®ÀÇ ¿¬»ê 75 4.3.2 ¼ýÀã°ªÀ» ´Ù·ç´Â ³»Àå ŸÀÔ 77 4.3.3 Á¶°Ç½Ä¿¡¼ÀÇ ¼ýÀã°ª ÀÌ¿ë 804.4 ¹®ÀÚ¿ 81 4.4.1 str ŸÀÔ ¡ª ¹®ÀÚ¿À» ´Ù·ç´Â ŸÀÔ 81 4.4.2 ¹®ÀÚ¿ ¿¬»ê 82 4.4.3 for ¹®¿¡¼ÀÇ ¹®ÀÚ¿ÀÇ µ¿ÀÛ 82 4.4.4 Á¶°Ç½Ä¿¡¼ÀÇ ¹®ÀÚ¿ ÀÌ¿ë 83 4.4.5 ¹®ÀÚ¿ ¾È¿¡¼ÀÇ º¯¼ö ÀÌ¿ë 83 4.4.6 str ŸÀÔ°ú ¸Å¿ì ºñ½ÁÇÑ bytes ŸÀÔ 864.5 ¹è¿ ¡ª ¿¤¸®¸ÕÆ®¸¦ 1¿·Î ³ª¿Çؼ ´Ù·ë 87 4.5.1 list ŸÀÔ ¡ª º¯°æÇÒ ¼ö ÀÖ´Â ¹è¿À» ´Ù·ç´Â ŸÀÔ 88 4.5.2 tuple ŸÀÔ ¡ª º¯°æÇÒ ¼ö ¾ø´Â ¹è¿À» ´Ù·ç´Â ŸÀÔ 90 4.5.3 Á¶°Ç½Ä¿¡¼ ÀÌ¿ëµÇ´Â ¹è¿ÀÇ Æ¯¼º 93 4.5.4 Æ©Çðú ¸®½ºÆ®ÀÇ ÀÌ¿ë ±¸ºÐ 944.6 µñ¼Å³Ê¸® ¡ª Å°¿Í °ªÀÇ ¼¼Æ®¸¦ ´Ù·ë 94 4.6.1 dict ŸÀÔ ¡ª µñ¼Å³Ê¸®¸¦ ´Ù·ç´Â ŸÀÔ 94 4.6.2 ¿¤¸®¸ÕÆ® Ãß°¡¿Í »èÁ¦ 95 4.6.3 Å°¸¦ ÀÌ¿ëÇÑ ¿¤¸®¸ÕÆ®·ÎÀÇ Á¢±Ù 95 4.6.4 Å°·Î ÀÌ¿ëÇÒ ¼ö ÀÖ´Â °´Ã¼ÀÇ Á¶°Ç 96 4.6.5 for ¹®¿¡¼ÀÇ µñ¼Å³Ê¸®ÀÇ µ¿ÀÛ 96 4.6.6 Á¶°Ç½Ä¿¡¼ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â µñ¼Å³Ê¸®ÀÇ Æ¯¼º 974.7 ÁýÇÕ ¡ª À¯ÀÏÇÑ ¿¤¸®¸ÕÆ®ÀÇ ÁýÇÕÀ» ´Ù·ë 98 4.7.1 set ŸÀÔ ¡ª º¯°æÇÒ ¼ö ÀÖ´Â ÁýÇÕÀ» ´Ù·ç´Â ŸÀÔ 98 4.7.2 frozenset ŸÀÔ ¡ª º¯°æÇÒ ¼ö ¾ø´Â ÁýÇÕÀ» ´Ù·ç´Â ŸÀÔ 100 4.7.3 ÁýÇÕ ¿¬»ê ¡ª ÇÕÁýÇÕ, ±³ÁýÇÕ, Â÷ÁýÇÕ, ´ëĪÂ÷ÁýÇÕ 100 4.7.4 for ¹®¿¡¼ÀÇ ÁýÇÕÀÇ µ¿ÀÛ 101 4.7.5 Á¶°Ç½Ä¿¡¼ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ÁýÇÕÀÇ Æ¯¼º 1024.8 ÄÄÇÁ¸®Çî¼Ç ¡ª È¿À²ÀûÀÎ ½ÃÄö½º »ý¼º 103 4.8.1 ¸®½ºÆ® ÄÄÇÁ¸®Çî¼Ç ¡ª È¿À²ÀûÀÎ ¸®½ºÆ® »ý¼º 103 4.8.2 ±âŸ ÄÄÇÁ¸®Çî¼Ç 1064.9 ±× ¿Ü ŸÀÔÀ» ³ªÅ¸³»´Â °³³ä 106 4.9.1 °¡º¯ °´Ã¼ ¡ª Á¤ÀÇ ÈÄ °ªÀ» º¯°æÇÒ ¼ö ÀÖ´Â °´Ã¼ 107 4.9.2 ºÒº¯ °´Ã¼ ¡ª Á¤ÀÇ ÈÄ °ªÀ» º¯°æÇÒ ¼ö ¾ø´Â °´Ã¼ 107 4.9.3 ÄÁÅ×ÀÌ³Ê °´Ã¼ ¡ª ´Ù¸¥ °´Ã¼¿¡ ´ëÇÑ ÂüÁ¶¸¦ °¡Áø °´Ã¼ 107 4.9.4 ÀÌÅÍ·¯ºí °´Ã¼ ¡ª for ¹®¿¡¼ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â °´Ã¼ 108 4.9.5 È£Ãâ °¡´É °´Ã¼ ¡ª ()¸¦ ºÙ¿© È£ÃâÇÒ ¼ö ÀÖ´Â °´Ã¼ 1084.10 Á¤¸® 108CHAPTER 5 ÇÔ¼ö 1095.1 ÇÔ¼ö ¡ª °ü·ÃµÈ 󸮸¦ ¸ðÀ½ 111 5.1.1 ÇÔ¼ö Á¤ÀÇ¿Í ½ÇÇà 111 5.1.2 Àμö¸¦ ¹Þ´Â ÇÔ¼ö 112 5.1.3 ÇÔ¼ö´Â °´Ã¼ 112 5.1.4 ÇÔ¼öÀÇ ¹Ýȯ°ª 113 5.1.5 ÇÔ¼öÀÇ ´Ù¾çÇÑ Àμö 115 5.1.6 Àμö ¸®½ºÆ® ¾ðÆÑ ¡ª ¸®½ºÆ®³ª µñ¼Å³Ê¸®¿¡ ÀúÀåµÈ °ªÀ» Àμö·Î Àü´Þ 123 5.1.7 ÇÔ¼öÀÇ µ¶½ºÆ®¸µ 1235.2 lambda ½Ä ¡ª À̸§ÀÌ ¾ø´Â ÇÔ¼ö ÀÛ¼º 125 5.2.1 lambda ½Ä Á¤ÀÇ¿Í ½ÇÇà 125 5.2.2 lambda ½ÄÀ» »ç¿ëÇÒ À§Ä¡ 1255.3 ŸÀÔ ÈùÆ® 126 5.3.1 ŸÀÔ Á¤º¸¸¦ ºÎ¿©ÇÔÀ¸·Î½á ¾òÀ» ¼ö ÀÖ´Â ÀåÁ¡ 126 5.3.2 ŸÀÔ Á¤º¸ ºÎ¿© 126 5.3.3 ŸÀÔ ÈùÆ® È°¿ë »ç·Ê ¡ª Á¤Àû ºÐ¼® µµ±¸ ÀÌ¿ë 1285.4 Á¤¸® 129CHAPTER 6 Ŭ·¡½º¿Í ÀνºÅϽº 1316.1 ÆÄÀ̽ãÀÇ Å¬·¡½º ±¸Á¶ 133 6.1.1 class Å°¿öµå¸¦ ÀÌ¿ëÇÑ Å¬·¡½º Á¤ÀÇ 133 6.1.2 ÀνºÅϽº ¸¸µé±â 1346.2 ÀνºÅϽº ¡ª Ŭ·¡½º¸¦ ±â¹ÝÀ¸·Î ¸¸µé¾îÁø °´Ã¼ 134 6.2.1 ÀνºÅϽº ¸Þ¼µå ¡ª ÀνºÅϽº¿¡ ¹ÀÎ ¸Þ¼µå 135 6.2.2 ÀνºÅϽº º¯¼ö ¡ª ÀνºÅϽº°¡ À¯ÁöÇÏ´Â º¯¼ö 136 6.2.3 ÀνºÅϽº ÃʱâÈ 136 6.2.4 ÇÁ·ÎÆÛƼ ¡ª ÀνºÅϽº ¸Þ¼µå¸¦ ÀνºÅϽº º¯¼ö¿Í °°ÀÌ ´Ù·ë 140 6.2.5 Ŭ·¡½º¿Í ÀνºÅϽºÀÇ ÇÁ¶óÀ̺ø ¼Ó¼º 1436.3 Ŭ·¡½º ¡ª ÀνºÅϽºÀÇ ¸ðÇüÀÌ µÇ´Â °´Ã¼ 144 6.3.1 Ŭ·¡½º º¯¼ö ¡ª Ŭ·¡½º °´Ã¼°¡ À¯ÁöÇÏ´Â º¯¼ö 144 6.3.2 Ŭ·¡½º ¸Þ¼µå ¡ª Ŭ·¡½º¿¡ ¼ÓÇÑ ¸Þ¼µå 1466.4 Ŭ·¡½º »ó¼Ó 149 6.4.1 ¸Þ¼µå ¿À¹ö¶óÀ̵å¿Í super()¸¦ »ç¿ëÇÑ º£À̽º Ŭ·¡½º·ÎÀÇ Á¢±Ù 149 6.4.2 ¸ðµç °´Ã¼´Â object Ŭ·¡½ºÀÇ ¼ºê Ŭ·¡½º 150 6.4.3 ´ÙÁß »ó¼Ó ¡ª ¿©·¯ º£À̽º Ŭ·¡½º¸¦ ÁöÁ¤ 150 6.4.4 ´ÙÁß »ó¼Ó ½Ã ÁÖÀÇÁ¡ 1516.5 Á¤¸® 154CHAPTER 7 ¸ðµâ, ÆÐÅ°Áö, À̸§ °ø°£, ½ºÄÚÇÁ 1557.1 ¸ðµâ ¡ª Äڵ带 ±â¼úÇÑ .py ÆÄÀÏ 157 7.1.1 ¸ðµâ ÀÛ¼º 157 7.1.2 ¸ðµâ ÀÓÆ÷Æ® 158 7.1.3 python3 ¸í·É¾î·Î Á÷Á¢ ½ÇÇàÇϱâ 1587.2 ÆÐÅ°Áö ¡ª ¸ðµâÀÇ ÁýÇÕ 163 7.2.1 ÆÐÅ°Áö ÀÛ¼º 164 7.2.2 ÆÐÅ°Áö ¾È¿¡ ÀÖ´Â ¸ðµâ ÀÓÆ÷Æ® 165 7.2.3 import ¹® ºñ±³ 1687.3 ÀÓÆ÷Æ®ÀÇ ±¸Á¶ 172 7.3.1 ¸ðµâ °Ë»ö È帧 173 7.3.2 sys.path ¡ª ¸ðµâ °Ë»ö °æ·Î 173 7.3.3 PYTHONPATH ¡ª sys.path¿¡ °Ë»ö °æ·Î¸¦ Ãß°¡ 1757.4 À̸§ °ø°£°ú º¯¼öÀÇ ½ºÄÚÇÁ 176 7.4.1 À̸§ °ø°£ ¡ª À̸§°ú °´Ã¼ÀÇ ¸ÅÇÎ 176 7.4.2 ½ºÄÚÇÁ ¡ª Á÷Á¢ Á¢±ÙÇÒ ¼ö ÀÖ´Â ¿µ¿ª 1777.5 Á¤¸® 185CHAPTER 8 ³»Àå ÇÔ¼ö¿Í Ư¼ö ¸Þ¼µå 1878.1 ³»Àå ÇÔ¼ö ¡ª Ç×»ó ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ÇÔ¼ö 189 8.1.1 °´Ã¼ ŸÀÔÀ» Á¶»çÇÏ´Â ÇÔ¼ö 189 8.1.2 °´Ã¼ ¼Ó¼º¿¡ °üÇÑ ÇÔ¼ö 192 8.1.3 getattr( ), setattr( ), delattr( ) ¡ª °´Ã¼ ¼Ó¼º Á¶ÀÛ 193 8.1.4 ÀÌÅÍ·¯ºí °´Ã¼¸¦ ¹Þ´Â ÇÔ¼ö 194 8.1.5 ±âŸ ³»Àå ÇÔ¼ö 2008.2 Ư¼ö ¸Þ¼µå ¡ª ÆÄÀ̽ãÀÌ ¾Ï¹¬ÀûÀ¸·Î È£ÃâÇϴ Ưº°ÇÑ ¸Þ¼µå 200 8.2.1 __str__( ), __repr__( ) ¡ª °´Ã¼¸¦ ¹®ÀÚ¿·Î Ç¥Çö 201 8.2.2 __bool__( ) ¡ª °´Ã¼¸¦ ³í¸´°ªÀ¸·Î Æò°¡ÇÔ 202 8.2.3 __call__( ) ¡ª ÀνºÅϽº¸¦ ÇÔ¼öó·³ ´Ù·ë 203 8.2.4 ¼Ó¼ºÀ¸·ÎÀÇ µ¿Àû Á¢±Ù 204 8.2.5 ÀÌÅÍ·¯ºí °´Ã¼·Î¼ µ¿ÀÛ 207 8.2.6 ÄÁÅ×ÀÌ³Ê °´Ã¼·Î¼ µ¿ÀÛ 209 8.2.7 ±âŸ Ư¼ö ¸Þ¼µå 2128.3 Á¤¸® 213CHAPTER 9 ÆÄÀ̽ãÀÇ µ¶Æ¯ÇÑ ±â´Éµé 2159.1 Á¦³Ê·¹ÀÌÅÍ ¡ª ¸Þ¸ð¸® È¿À²ÀÌ ³ôÀº ÀÌÅÍ·¯ºí °´Ã¼ 217 9.1.1 Á¦³Ê·¹ÀÌÅÍÀÇ ±¸Ã¼ÀûÀÎ ¿¹½Ã 217 9.1.2 Á¦³Ê·¹ÀÌÅÍ ±¸Çö 217 9.1.3 Á¦³Ê·¹ÀÌÅÍ ÀÌ¿ë ½Ã ÁÖÀÇÁ¡ 221 9.1.4 Á¦³Ê·¹ÀÌÅÍ ½ÇÁ¦ »ç·Ê ¡ª ÆÄÀÏ ³»¿ë º¯È¯Çϱâ 223 9.1.5 ±âŸ ÀÌ¿ë »ç·Ê 2249.2 µ¥Ä¿·¹ÀÌÅÍ ¡ª ÇÔ¼ö³ª Ŭ·¡½º¸í¿¡ ó¸® Ãß°¡ 224 9.2.1 µ¥Ä¿·¹ÀÌÅÍÀÇ ±¸Ã¼ÀûÀÎ ¿¹½Ã 224 9.2.2 µ¥Ä¿·¹ÀÌÅÍ ±¸Çö 226 9.2.3 µ¥Ä¿·¹ÀÌÅÍ ½ÇÁ¦ »ç·Ê ¡ª ó¸® ½Ã°£ ÃøÁ¤ 231 9.2.4 ±âŸ ÀÌ¿ë »ç·Ê 2329.3 ÄÜÅؽºÆ® °ü¸®ÀÚ ¡ª with ¹® ¾ÕµÚ¿¡¼ 󸮸¦ ½ÇÇàÇÏ´Â °´Ã¼ 233 9.3.1 ÄÜÅؽºÆ® °ü¸®ÀÚÀÇ ±¸Ã¼ÀûÀÎ ¿¹½Ã 233 9.3.2 ÄÜÅؽºÆ® °ü¸®ÀÚ ½ÇÁ¦ »ç·Ê ¡ª ÀϽÃÀûÀÎ ·Î±ë ¼öÁØ º¯°æ 238 9.3.3 ±âŸ ÀÌ¿ë »ç·Ê 2399.4 µð½ºÅ©¸³ÅÍ ¡ª ¼Ó¼º 󸮸¦ Ŭ·¡½º·Î ÀÌø 240 9.4.1 µð½ºÅ©¸³ÅÍÀÇ ±¸Ã¼ÀûÀÎ ¿¹½Ã 240 9.4.2 µð½ºÅ©¸³ÅÍ ±¸Çö 242 9.4.3 µð½ºÅ©¸³ÅÍ ½ÇÁ¦ »ç·Ê ¡ª ÇÁ·ÎÆÛƼ ij½Ã 245 9.4.4 ±âŸ ÀÌ¿ë »ç·Ê 2479.5 Á¤¸® 247CHAPTER 10 µ¿½Ã ó¸® 24910.1 µ¿½Ã ó¸®¿Í º´·Ä ó¸® ¡ª ¿©·¯ 󸮸¦ µ¿½Ã¿¡ ¼öÇà 251 10.1.1 ¼øÂ÷ ó¸® ½ÇÇà 251 10.1.2 µ¿½Ã ó¸® ½ÇÇà 251 10.1.3 º´·Ä ó¸® ½ÇÇà 252 10.1.4 ÆÄÀ̽ã°ú µ¿½Ã ó¸® 25210.2 concurrent.futures ¸ðµâ ¡ª µ¿½Ã 󸮸¦ À§ÇÑ °í¼öÁØ ÀÎÅÍÆäÀ̽º 253 10.2.1 Future Ŭ·¡½º¿Í Executor Ŭ·¡½º ¡ª ºñµ¿±â ó¸® ĸ½¶È¿Í ½ÇÇà 254 10.2.2 ThreadPoolExecutor Ŭ·¡½º ¡ª ½º·¹µå ±â¹Ý ºñµ¿±â ½ÇÇà 256 10.2.3 ThreadPoolExecutor Ŭ·¡½º¸¦ ÀÌ¿ëÇÑ 10.2.4 ProcessPoolExecutor Ŭ·¡½º ¡ª ÇÁ·Î¼¼½º ±â¹Ý ºñµ¿±â ½ÇÇà 263 10.2.5 ProcessPoolExecutor Ŭ·¡½º¸¦ ÀÌ¿ëÇÑ ´ÙÁß ÇÁ·Î¼¼½º ó¸® ±¸Çö 26310.3 asyncio ¸ðµâ ¡ª À̺¥Æ® ·çÇÁ¸¦ »ç¿ëÇÑ µ¿½Ã ó¸® ¼öÇà 271 10.3.1 ÄÚ·çƾ ¡ª ó¸® µµÁß¿¡ Áß´Ü, ´Ù½Ã ½ÃÀÛ 272 10.3.2 ÄÚ·çƾ ½ºÄÉÁÙ¸µ°ú ½ÇÇà 276 10.3.3 asyncio ¸ðµâ°ú HTTP Åë½Å 27910.4 Á¤¸® 280CHAPTER 11 °³¹ß ȯ°æ°ú ÆÐÅ°Áö °ü¸® 28111.1 °¡»ó ȯ°æ ¡ª °Ý¸®µÈ ÆÄÀ̽㠽ÇÇà ȯ°æ 283 11.1.1 venv ¡ª °¡»ó ȯ°æ »ý¼º µµ±¸ 28311.2 ÆÐÅ°Áö ÀÌ¿ë 289 11.2.1 pip ¡ª ÆÐÅ°Áö °ü¸® µµ±¸ 289 11.2.2 ȯ°æ ÀúÀå°ú ÀçÇö ¡ª requirements ÆÄÀÏ È°¿ë 29811.3 ÆÐÅ°Áö ÀÛ¼º 302 11.3.1 setup.py ¡ª ÆÐÅ°Áö Á¤º¸¸¦ ¸ð¾ÆµÐ ÆÄÀÏ 302 11.3.2 PyPI¿¡ ÆÐÅ°Áö µî·Ï 30911.4 Á¤¸® 313CHAPTER 12 ´ÜÀ§ Å×½ºÆ® 31512.1 ´ÜÀ§ Å×½ºÆ® µµÀÔ 317 12.1.1 ´ÜÀÏ ¸ðµâ Å×½ºÆ® 317 12.1.2 ÆÐÅ°Áö Å×½ºÆ® 31912.2 unittest ¸ðµâ ¡ª Ç¥ÁØ ´ÜÀ§ Å×½ºÆ® ¶óÀ̺귯¸® 323 12.2.1 Å×½ºÆ® ÄÉÀ̽º ±¸Çö 323 12.2.2 Å×½ºÆ® ½ÇÇà°ú °á°ú È®ÀÎ 327 12.2.3 ƯÁ¤ÇÑ Å×½ºÆ®¸¸ ½ÇÇàÇϱâ 32912.3 unittest.mock ¸ðµâ ¡ª ¸ðÀÇ °´Ã¼ ÀÌ¿ë 331 12.3.1 ¸ðÀÇ °´Ã¼ ±âº» »ç¿ë¹ý 331 12.3.2 patch¸¦ »ç¿ëÇÑ °´Ã¼ ġȯ 334 12.3.3 mockÀ» ÀÌ¿ëÇÑ Å×½ºÆ® ÄÉÀ̽º ±¸Çö 33512.4 »óȲ¿¡ µû¸¥ Å×½ºÆ® ÄÉÀ̽º ±¸Çö 336 12.4.1 ȯ°æ¿¡ ÀÇÁ¸ÇÏ´Â Å×½ºÆ® °Ç³Ê¶Ù±â 337 12.4.2 ¿¹¿Ü ¹ß»ý Å×½ºÆ®Çϱâ 338 12.4.3 ´Ù¸¥ ÆĶó¹ÌÅÍ·Î µ¿ÀÏÇÑ Å×½ºÆ® ¹Ýº¹Çϱâ 339 12.4.4 ÄÜÅؽºÆ® °ü¸®ÀÚ Å×½ºÆ®Çϱâ 34012.5 Á¤¸® 341CHAPTER 13 ÆÄÀ̽㠾ÖÇø®ÄÉÀÌ¼Ç °³¹ß ½ÇÀü 34313.1 ÀÛ¼ºÇÒ ¾ÖÇø®ÄÉÀÌ¼Ç 345 13.1.1 LGTM À̹ÌÁö¸¦ ÀÚµ¿À¸·Î »ý¼ºÇÏ´Â Ä¿¸Çµå ¶óÀÎ µµ±¸ 345 13.1.2 ÀÌ¿ëÇÒ ÁÖ¿ä ¿ÜºÎ ÆÐÅ°Áö 34613.2 ÇÁ·ÎÁ§Æ® ÀÛ¼º 349 13.2.1 Git ÀÌ¿ë 350 13.2.2 ÆÐÅ°Áö ¸ðÇü ÀÛ¼º 35113.3 Áö¼ÓÀûÀÎ ÅëÇÕ µµÀÔ 354 13.3.1 CircleCI¿¡¼ÀÇ Å×½ºÆ® ÀÚµ¿È 354 13.3.2 Å×½ºÆ® ½ÇÇà ¹× °á°ú È®ÀÎ 35613.4 ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß 358 13.4.1 Ä¿¸Çµå ¶óÀÎ Àμö ¾ò±â 358 13.4.2 À̹ÌÁö ¾ò±â 361 13.4.3 À̹ÌÁö ó¸® 364 13.4.4 °¢°¢ÀÇ Ã³¸® È£Ãâ 36613.5 ¸í·É¾î·Î ½ÇÇàÇϱâ 367 13.5.1 setup.py ÀÛ¼º 367 13.5.2 µ¿ÀÛ È®ÀÎÇϱâ 36813.6 Á¤¸® 369