±¹³»µµ¼
Àü°øµµ¼/´ëÇб³Àç
°øÇаè¿
ÄÄÇ»ÅÍ°øÇÐ
Á¤°¡ |
22,000¿ø |
---|
19,800¿ø (10%ÇÒÀÎ)
1,100P (5%Àû¸³)
ÇÒÀÎÇýÅÃ | |
---|---|
Àû¸³ÇýÅà |
|
|
|
Ãß°¡ÇýÅÃ |
|
À̺¥Æ®/±âȹÀü
¿¬°üµµ¼
»óÇ°±Ç
ÀÌ»óÇ°ÀÇ ºÐ·ù
¶óÀ̺êºÏ
Ã¥¼Ò°³
ÆÄÀ̽á´ÐÇÑ °³¹ßÀÚ·Î °Åµì³ª°í ½ÍÀº ºÐ²² À¯ÀÍÇÕ´Ï´Ù!
ÀÌ Ã¥Àº ÀÌÁ¦ºÎÅÍ ÆÄÀ̽ãÀ» ½ÃÀÛÇÏ°íÀÚ ÇÏ´Â ÇÁ·Î±×·¡¹Ö °æÇèÀڵ鿡°Ô °¡Àå ÀûÇÕÇÑ ÆÄÀ̽ã ÀÔ¹®¼ÀÔ´Ï´Ù. Æò¼Ò ÆÄÀ̽ãÀ» »ç¿ëÇÏ°í ÀÖ´Â ºÐµéµµ ´õ¿í ÀڽۨÀ» °®°í ÆÄÀ̽ãÀ» ¾µ ¼ö ÀÖµµ·Ï ½Ç·ÂÀ» ÇÑ ´Ü°è ¾÷±×·¹À̵åÇÏ´Â µ¥ È°¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÆÄÀ̽ãÀÇ °³¹ß ¹è°æ¿¡¼ ½ÃÀÛÇØ ÆÄÀ̽ãÀ» ±¸¼ºÇÏ´Â ¿ä¼Ò, ¾ð¾îÀÇ ¼³°è ¹æ½Ä, ±¸Çö»óÀÇ Æ¯Â¡, ´Ü¼øÇÑ ¾Ë°í¸®Áò»Ó¸¸ÀÌ ¾Æ´Ñ ÇÁ·Î±×·¥ ÀÛ¼º°ú ¹èÆ÷ÀÇ È帧À» ¤¾î°¡´Ù º¸¸é ¾î´À»õ ÆÄÀ̽ãÀ» Áö±Ýº¸´Ù È¿°úÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ¾ÆÀ̵ð¾î¸¦ ¾òÀ» ¼ö ÀÖÀ» °ÍÀÌ°í, ÀÌ·Î½á ¿©·¯ºÐÀÇ ÇÁ·Î±×·¡¹Ö ´É·ÂÀ» ÇÑÃþ °ÇÏ°Ô ¸¸µé¾îÁÙ °ÍÀÔ´Ï´Ù.
ÃâÆÇ»ç ¼Æò
ÀÌ Ã¥ÀÇ Æ¯Â¡
? ÆÄÀ̽ãÀ» óÀ½ Á¢ÇÑ ºÐµé¿¡°Ô źźÇÏ°Ô ±âÃʸ¦ ´ÙÁú ¼ö ÀÖ´Â ±æÀ» Á¦½Ã
? ÆÄÀ̽㠼Ұ³, ÀÚ·áÇü µî ¾ÆÁÖ ±âÃÊÀûÀÎ ÁÖÁ¦·Î ½ÃÀÛÇÏ¿©, ÁßÈĹݺηΠ°¥¼ö·Ï ´Ù¸¥ ÀÔ¹®¼¿¡¼´Â º¸±â Èûµç, ±íÀÌ ÀÖ´Â ÁÖÁ¦¸¦ ´Ù·ç°í ÀÖ´Â µ¶Æ¯ÇÑ ±¸¼º
? ÆÄÀ̽ãÀÇ ±âº»ÀûÀÎ ¹®¹ý ¿Ü¿¡µµ venv, ´ÜÀ§ Å×½ºÆ®, CI, ÆÐÅ°Áö °ü¸® µîÀ» ÀüüÀûÀ¸·Î ´Ù·ç¸ç, ¹®¹ý ÀÚüº¸´Ù´Â ÇØ´ç ¾ð¾î·Î ±¸ÇöÇÒ ÀÛ¾÷µéÀ» Å« ±×¸²À¸·Î »ìÆ캼 ¼ö ÀÖµµ·Ï ÇÔ
? ÆÄÀ̽ãÀ» »ç¿ëÇÑ À¥ °³¹ß, ȤÀº ÀΰøÁö´É, ºòµ¥ÀÌÅÍ ºÐ¾ß·Î °¡±â Àü¿¡ ±âº» ½Ç·ÂÀ» ±â¸£´Â È°¿ë¼·Î »ç¿ëÇÒ °ÍÀ» Ãßõ
ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ
? ÆÄÀ̽ãÀ» óÀ½ Á¢ÇÏ´Â ºÐ
? ÆÄÀ̽㿡 °ü½É ÀÖ´Â ¸ðµç ÇÁ·Î±×·¡¸Ó
? ÆÄÀ̽ãÀÇ °³³äÀ» ´Ù½Ã Çѹø Á¤¸®ÇÏ°í ½ÍÀ¸½Å ºÐ
? ÆÄÀ̽㠽ǷÂÀ» Ãʱ޿¡¼ Áß»ó±ÞÀ¸·Î ¿Ã¸®°í ½ÍÀº ºÐ
¸ñÂ÷
CHAPTER 1 ÆÄÀ̽ãÀ̶õ ¾î¶² ¾ð¾îÀΰ¡? 1
1.1 ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î¼ÀÇ Æ¯Â¡ 3
1.1.1 °£´ÜÇÏ°í Àб⠽¬¿î µ¿Àû ŸÀÔ ¾ð¾î 3
1.1.2 ÇÏÀ§ ȣȯ¼º Á߽à 5
1.1.3 dzºÎÇÑ Ç¥ÁØ ¶óÀ̺귯¸® 6
1.1.4 ´Ù¾çÇÑ ¿ëµµ·Î ÀÌ¿ë 6
1.2 ÆÄÀ̽ãÀÇ ¿ª»ç¿Í ÇöȲ 7
1.2.1 ÆÄÀ̽ã ÀÚüÀÇ ÁøÈ 8
1.2.2 ÆÄÀ̽ãÀ» µÑ·¯½Ñ ȯ°æÀÇ º¯È 9
1.3 ÆÄÀ̽ã Ä¿¹Â´ÏƼÀÇ Æ¯Â¡ 10
1.3.1 Ä¿¹Â´ÏƼ ÁÖü ¿ÀǼҽº ¼ÒÇÁÆ®¿þ¾î 10
1.3.2 PEPÀÇ Á¸Àç 11
1.4 Á¤¸® 15
CHAPTER 2 ÆÄÀ̽㠼³Ä¡¿Í °³¹ßÀÚ¸¦ À§ÇÑ Æí¸®ÇÑ ±â´É 17
2.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 µµÄ¿ ÀÌ¿ë 24
2.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 ¸í·É¾îÀÇ Â÷ÀÌ 37
2.3 Á¤¸® 37
CHAPTER 3 Á¦¾î È帧 39
3.1 ±âº» ¹®¹ý 41
3.1.1 µé¿©¾²±â¸¦ »ç¿ëÇÑ ºí·Ï Ç¥Çö 41
3.1.2 º¯¼ö ÀÌ¿ë 43
3.1.3 ÁÖ¼® 45
3.2 Á¶°Ç ºÐ±â 47
3.2.1 if ¹® - Á¶°ÇÀ» ÁöÁ¤ÇØ Ã³¸®¸¦ ºÐ±âÇÔ 47
3.3 ·çÇÁ - ó¸® ¹Ýº¹ 51
3.3.1 for ¹® - ¿¤¸®¸ÕÆ® ¼ö¸¸Å 󸮸¦ ¹Ýº¹ 51
3.3.2 while ¹® - Á¶°ÇÀ» ÁöÁ¤ÇØ Ã³¸®¸¦ ¹Ýº¹ 55
3.3.3 break ¹® - ·çÇÁ¸¦ ¹þ¾î³² 56
3.3.4 continue ¹® - ´ÙÀ½ ·çÇÁ·Î À̵¿ 57
3.4 ¿¹¿Ü ó¸® 59
3.4.1 try ¹® - ¿¹¿Ü Æ÷Âø 60
3.4.2 raise ¹® - ÀǵµÀûÀ¸·Î ¿¹¿Ü¸¦ ¹ß»ý½ÃÅ´ 65
3.4.3 »ç¿ëÀÚ ¿¹¿Ü Á¤ÀÇ 65
3.4.4 with ¹® - Á¤ÀÇÇÑ Å¬¸°¾÷ 󸮸¦ ¹Ýµå½Ã ½ÇÇàÇÔ 66
3.5 Á¤¸® 67
CHAPTER 4 µ¥ÀÌÅÍ ±¸Á¶ 69
4.1 None - °ªÀÌ Á¸ÀçÇÏÁö ¾ÊÀ½À» Ç¥Çö 71
4.1.1 Á¶°Ç½Ä¿¡¼ÀÇ None ÀÌ¿ë 71
4.2 ³í¸´°ª - Âü/°ÅÁþÀ» ´Ù·ë 72
4.2.1 bool ŸÀÔ - ³í¸´°ªÀ» ´Ù·ç´Â ŸÀÔ 72
4.2.2 ºÒ ¿¬»ê 73
4.3 ¼ýÀã°ª 75
4.3.1 ¼ýÀã°ª³¢¸®ÀÇ ¿¬»ê 75
4.3.2 ¼ýÀã°ªÀ» ´Ù·ç´Â ³»Àå ŸÀÔ 77
4.3.3 Á¶°Ç½Ä¿¡¼ÀÇ ¼ýÀã°ª ÀÌ¿ë 80
4.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 ŸÀÔ 86
4.5 ¹è¿ - ¿¤¸®¸ÕÆ®¸¦ 1¿·Î ³ª¿Çؼ ´Ù·ë 87
4.5.1 list ŸÀÔ - º¯°æÇÒ ¼ö ÀÖ´Â ¹è¿À» ´Ù·ç´Â ŸÀÔ 88
4.5.2 tuple ŸÀÔ - º¯°æÇÒ ¼ö ¾ø´Â ¹è¿À» ´Ù·ç´Â ŸÀÔ 90
4.5.3 Á¶°Ç½Ä¿¡¼ ÀÌ¿ëµÇ´Â ¹è¿ÀÇ Æ¯¼º 93
4.5.4 Æ©Çðú ¸®½ºÆ®ÀÇ ÀÌ¿ë ±¸ºÐ 94
4.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 Á¶°Ç½Ä¿¡¼ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â µñ¼Å³Ê¸®ÀÇ Æ¯¼º 97
4.7 ÁýÇÕ - À¯ÀÏÇÑ ¿¤¸®¸ÕÆ®ÀÇ ÁýÇÕÀ» ´Ù·ë 98
4.7.1 set ŸÀÔ - º¯°æÇÒ ¼ö ÀÖ´Â ÁýÇÕÀ» ´Ù·ç´Â ŸÀÔ 98
4.7.2 frozenset ŸÀÔ - º¯°æÇÒ ¼ö ¾ø´Â ÁýÇÕÀ» ´Ù·ç´Â ŸÀÔ 100
4.7.3 ÁýÇÕ ¿¬»ê - ÇÕÁýÇÕ, ±³ÁýÇÕ, Â÷ÁýÇÕ, ´ëĪÂ÷ÁýÇÕ 100
4.7.4 for ¹®¿¡¼ÀÇ ÁýÇÕÀÇ µ¿ÀÛ 101
4.7.5 Á¶°Ç½Ä¿¡¼ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ÁýÇÕÀÇ Æ¯¼º 102
4.8 ÄÄÇÁ¸®Çî¼Ç - È¿À²ÀûÀÎ ½ÃÄö½º »ý¼º 103
4.8.1 ¸®½ºÆ® ÄÄÇÁ¸®Çî¼Ç - È¿À²ÀûÀÎ ¸®½ºÆ® »ý¼º 103
4.8.2 ±âŸ ÄÄÇÁ¸®Çî¼Ç 106
4.9 ±× ¿Ü ŸÀÔÀ» ³ªÅ¸³»´Â °³³ä 106
4.9.1 °¡º¯ °´Ã¼ - Á¤ÀÇ ÈÄ °ªÀ» º¯°æÇÒ ¼ö ÀÖ´Â °´Ã¼ 107
4.9.2 ºÒº¯ °´Ã¼ - Á¤ÀÇ ÈÄ °ªÀ» º¯°æÇÒ ¼ö ¾ø´Â °´Ã¼ 107
4.9.3 ÄÁÅ×ÀÌ³Ê °´Ã¼ - ´Ù¸¥ °´Ã¼¿¡ ´ëÇÑ ÂüÁ¶¸¦ °¡Áø °´Ã¼ 107
4.9.4 ÀÌÅÍ·¯ºí °´Ã¼ - for ¹®¿¡¼ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â °´Ã¼ 108
4.9.5 È£Ãâ °¡´É °´Ã¼ - ()¸¦ ºÙ¿© È£ÃâÇÒ ¼ö ÀÖ´Â °´Ã¼ 108
4.10 Á¤¸® 108
CHAPTER 5 ÇÔ¼ö 109
5.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 ÇÔ¼öÀÇ µ¶½ºÆ®¸µ 123
5.2 lambda ½Ä - À̸§ÀÌ ¾ø´Â ÇÔ¼ö ÀÛ¼º 125
5.2.1 lambda ½Ä Á¤ÀÇ¿Í ½ÇÇà 125
5.2.2 lambda ½ÄÀ» »ç¿ëÇÒ À§Ä¡ 125
5.3 ŸÀÔ ÈùÆ® 126
5.3.1 ŸÀÔ Á¤º¸¸¦ ºÎ¿©ÇÔÀ¸·Î½á ¾òÀ» ¼ö ÀÖ´Â ÀåÁ¡ 126
5.3.2 ŸÀÔ Á¤º¸ ºÎ¿© 126
5.3.3 ŸÀÔ ÈùÆ® È°¿ë »ç·Ê - Á¤Àû ºÐ¼® µµ±¸ ÀÌ¿ë 128
5.4 Á¤¸® 129
CHAPTER 6 Ŭ·¡½º¿Í ÀνºÅϽº 131
6.1 ÆÄÀ̽ãÀÇ Å¬·¡½º ±¸Á¶ 133
6.1.1 class Å°¿öµå¸¦ ÀÌ¿ëÇÑ Å¬·¡½º Á¤ÀÇ 133
6.1.2 ÀνºÅϽº ¸¸µé±â 134
6.2 ÀνºÅϽº - Ŭ·¡½º¸¦ ±â¹ÝÀ¸·Î ¸¸µé¾îÁø °´Ã¼ 134
6.2.1 ÀνºÅϽº ¸Þ¼µå - ÀνºÅϽº¿¡ ¹ÀÎ ¸Þ¼µå 135
6.2.2 ÀνºÅϽº º¯¼ö - ÀνºÅϽº°¡ À¯ÁöÇÏ´Â º¯¼ö 136
6.2.3 ÀνºÅϽº ÃʱâÈ 136
6.2.4 ÇÁ·ÎÆÛƼ - ÀνºÅϽº ¸Þ¼µå¸¦ ÀνºÅϽº º¯¼ö¿Í °°ÀÌ ´Ù·ë 140
6.2.5 Ŭ·¡½º¿Í ÀνºÅϽºÀÇ ÇÁ¶óÀ̺ø ¼Ó¼º 143
6.3 Ŭ·¡½º - ÀνºÅϽºÀÇ ¸ðÇüÀÌ µÇ´Â °´Ã¼ 144
6.3.1 Ŭ·¡½º º¯¼ö - Ŭ·¡½º °´Ã¼°¡ À¯ÁöÇÏ´Â º¯¼ö 144
6.3.2 Ŭ·¡½º ¸Þ¼µå - Ŭ·¡½º¿¡ ¼ÓÇÑ ¸Þ¼µå 146
6.4 Ŭ·¡½º »ó¼Ó 149
6.4.1 ¸Þ¼µå ¿À¹ö¶óÀ̵å¿Í super()¸¦ »ç¿ëÇÑ º£À̽º Ŭ·¡½º·ÎÀÇ Á¢±Ù 149
6.4.2 ¸ðµç °´Ã¼´Â object Ŭ·¡½ºÀÇ ¼ºê Ŭ·¡½º 150
6.4.3 ´ÙÁß »ó¼Ó - ¿©·¯ º£À̽º Ŭ·¡½º¸¦ ÁöÁ¤ 150
6.4.4 ´ÙÁß »ó¼Ó ½Ã ÁÖÀÇÁ¡ 151
6.5 Á¤¸® 154
CHAPTER 7 ¸ðµâ, ÆÐÅ°Áö, À̸§ °ø°£, ½ºÄÚÇÁ 155
7.1 ¸ðµâ - Äڵ带 ±â¼úÇÑ .py ÆÄÀÏ 157
7.1.1 ¸ðµâ ÀÛ¼º 157
7.1.2 ¸ðµâ ÀÓÆ÷Æ® 158
7.1.3 python3 ¸í·É¾î·Î Á÷Á¢ ½ÇÇàÇϱâ 158
7.2 ÆÐÅ°Áö - ¸ðµâÀÇ ÁýÇÕ 163
7.2.1 ÆÐÅ°Áö ÀÛ¼º 164
7.2.2 ÆÐÅ°Áö ¾È¿¡ ÀÖ´Â ¸ðµâ ÀÓÆ÷Æ® 165
7.2.3 import ¹® ºñ±³ 168
7.3 ÀÓÆ÷Æ®ÀÇ ±¸Á¶ 172
7.3.1 ¸ðµâ °Ë»ö È帧 173
7.3.2 sys.path - ¸ðµâ °Ë»ö °æ·Î 173
7.3.3 PYTHONPATH - sys.path¿¡ °Ë»ö °æ·Î¸¦ Ãß°¡ 175
7.4 À̸§ °ø°£°ú º¯¼öÀÇ ½ºÄÚÇÁ 176
7.4.1 À̸§ °ø°£ - À̸§°ú °´Ã¼ÀÇ ¸ÅÇÎ 176
7.4.2 ½ºÄÚÇÁ - Á÷Á¢ Á¢±ÙÇÒ ¼ö ÀÖ´Â ¿µ¿ª 177
7.5 Á¤¸® 185
CHAPTER 8 ³»Àå ÇÔ¼ö¿Í Ư¼ö ¸Þ¼µå 187
8.1 ³»Àå ÇÔ¼ö - Ç×»ó ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ÇÔ¼ö 189
8.1.1 °´Ã¼ ŸÀÔÀ» Á¶»çÇÏ´Â ÇÔ¼ö 189
8.1.2 °´Ã¼ ¼Ó¼º¿¡ °üÇÑ ÇÔ¼ö 192
8.1.3 getattr( ), setattr( ), delattr( ) - °´Ã¼ ¼Ó¼º Á¶ÀÛ 193
8.1.4 ÀÌÅÍ·¯ºí °´Ã¼¸¦ ¹Þ´Â ÇÔ¼ö 194
8.1.5 ±âŸ ³»Àå ÇÔ¼ö 200
8.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 ±âŸ Ư¼ö ¸Þ¼µå 212
8.3 Á¤¸® 213
CHAPTER 9 ÆÄÀ̽ãÀÇ µ¶Æ¯ÇÑ ±â´Éµé 215
9.1 Á¦³Ê·¹ÀÌÅÍ - ¸Þ¸ð¸® È¿À²ÀÌ ³ôÀº ÀÌÅÍ·¯ºí °´Ã¼ 217
9.1.1 Á¦³Ê·¹ÀÌÅÍÀÇ ±¸Ã¼ÀûÀÎ ¿¹½Ã 217
9.1.2 Á¦³Ê·¹ÀÌÅÍ ±¸Çö 217
9.1.3 Á¦³Ê·¹ÀÌÅÍ ÀÌ¿ë ½Ã ÁÖÀÇÁ¡ 221
9.1.4 Á¦³Ê·¹ÀÌÅÍ ½ÇÁ¦ »ç·Ê - ÆÄÀÏ ³»¿ë º¯È¯Çϱâ 223
9.1.5 ±âŸ ÀÌ¿ë »ç·Ê 224
9.2 µ¥Ä¿·¹ÀÌÅÍ - ÇÔ¼ö³ª Ŭ·¡½º¸í¿¡ ó¸® Ãß°¡ 224
9.2.1 µ¥Ä¿·¹ÀÌÅÍÀÇ ±¸Ã¼ÀûÀÎ ¿¹½Ã 224
9.2.2 µ¥Ä¿·¹ÀÌÅÍ ±¸Çö 226
9.2.3 µ¥Ä¿·¹ÀÌÅÍ ½ÇÁ¦ »ç·Ê - ó¸® ½Ã°£ ÃøÁ¤ 231
9.2.4 ±âŸ ÀÌ¿ë »ç·Ê 232
9.3 ÄÜÅؽºÆ® °ü¸®ÀÚ - with ¹® ¾ÕµÚ¿¡¼ 󸮸¦ ½ÇÇàÇÏ´Â °´Ã¼ 233
9.3.1 ÄÜÅؽºÆ® °ü¸®ÀÚÀÇ ±¸Ã¼ÀûÀÎ ¿¹½Ã 233
9.3.2 ÄÜÅؽºÆ® °ü¸®ÀÚ ½ÇÁ¦ »ç·Ê - ÀϽÃÀûÀÎ ·Î±ë ¼öÁØ º¯°æ 238
9.3.3 ±âŸ ÀÌ¿ë »ç·Ê 239
9.4 µð½ºÅ©¸³ÅÍ - ¼Ó¼º 󸮸¦ Ŭ·¡½º·Î ÀÌø 240
9.4.1 µð½ºÅ©¸³ÅÍÀÇ ±¸Ã¼ÀûÀÎ ¿¹½Ã 240
9.4.2 µð½ºÅ©¸³ÅÍ ±¸Çö 242
9.4.3 µð½ºÅ©¸³ÅÍ ½ÇÁ¦ »ç·Ê - ÇÁ·ÎÆÛƼ ij½Ã 245
9.4.4 ±âŸ ÀÌ¿ë »ç·Ê 247
9.5 Á¤¸® 247
CHAPTER 10 µ¿½Ã ó¸® 249
10.1 µ¿½Ã ó¸®¿Í º´·Ä ó¸® - ¿©·¯ 󸮸¦ µ¿½Ã¿¡ ¼öÇà 251
10.1.1 ¼øÂ÷ ó¸® ½ÇÇà 251
10.1.2 µ¿½Ã ó¸® ½ÇÇà 251
10.1.3 º´·Ä ó¸® ½ÇÇà 252
10.1.4 ÆÄÀ̽ã°ú µ¿½Ã ó¸® 252
10.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 Ŭ·¡½º¸¦ ÀÌ¿ëÇÑ ´ÙÁß ÇÁ·Î¼¼½º ó¸® ±¸Çö 263
10.3 asyncio ¸ðµâ - À̺¥Æ® ·çÇÁ¸¦ »ç¿ëÇÑ µ¿½Ã ó¸® ¼öÇà 271
10.3.1 ÄÚ·çƾ - ó¸® µµÁß¿¡ Áß´Ü, ´Ù½Ã ½ÃÀÛ 272
10.3.2 ÄÚ·çƾ ½ºÄÉÁÙ¸µ°ú ½ÇÇà 276
10.3.3 asyncio ¸ðµâ°ú HTTP Åë½Å 279
10.4 Á¤¸® 280
CHAPTER 11 °³¹ß ȯ°æ°ú ÆÐÅ°Áö °ü¸® 281
11.1 °¡»ó ȯ°æ - °Ý¸®µÈ ÆÄÀ̽㠽ÇÇà ȯ°æ 283
11.1.1 venv - °¡»ó ȯ°æ »ý¼º µµ±¸ 283
11.2 ÆÐÅ°Áö ÀÌ¿ë 289
11.2.1 pip - ÆÐÅ°Áö °ü¸® µµ±¸ 289
11.2.2 ȯ°æ ÀúÀå°ú ÀçÇö - requirements ÆÄÀÏ È°¿ë 298
11.3 ÆÐÅ°Áö ÀÛ¼º 302
11.3.1 setup.py - ÆÐÅ°Áö Á¤º¸¸¦ ¸ð¾ÆµÐ ÆÄÀÏ 302
11.3.2 PyPI¿¡ ÆÐÅ°Áö µî·Ï 309
11.4 Á¤¸® 313
CHAPTER 12 ´ÜÀ§ Å×½ºÆ® 315
12.1 ´ÜÀ§ Å×½ºÆ® µµÀÔ 317
12.1.1 ´ÜÀÏ ¸ðµâ Å×½ºÆ® 317
12.1.2 ÆÐÅ°Áö Å×½ºÆ® 319
12.2 unittest ¸ðµâ - Ç¥ÁØ ´ÜÀ§ Å×½ºÆ® ¶óÀ̺귯¸® 323
12.2.1 Å×½ºÆ® ÄÉÀ̽º ±¸Çö 323
12.2.2 Å×½ºÆ® ½ÇÇà°ú °á°ú È®ÀÎ 327
12.2.3 ƯÁ¤ÇÑ Å×½ºÆ®¸¸ ½ÇÇàÇϱâ 329
12.3 unittest.mock ¸ðµâ - ¸ðÀÇ °´Ã¼ ÀÌ¿ë 331
12.3.1 ¸ðÀÇ °´Ã¼ ±âº» »ç¿ë¹ý 331
12.3.2 patch¸¦ »ç¿ëÇÑ °´Ã¼ ġȯ 334
12.3.3 mockÀ» ÀÌ¿ëÇÑ Å×½ºÆ® ÄÉÀ̽º ±¸Çö 335
12.4 »óȲ¿¡ µû¸¥ Å×½ºÆ® ÄÉÀ̽º ±¸Çö 336
12.4.1 ȯ°æ¿¡ ÀÇÁ¸ÇÏ´Â Å×½ºÆ® °Ç³Ê¶Ù±â 337
12.4.2 ¿¹¿Ü ¹ß»ý Å×½ºÆ®Çϱâ 338
12.4.3 ´Ù¸¥ ÆĶó¹ÌÅÍ·Î µ¿ÀÏÇÑ Å×½ºÆ® ¹Ýº¹Çϱâ 339
12.4.4 ÄÜÅؽºÆ® °ü¸®ÀÚ Å×½ºÆ®Çϱâ 340
12.5 Á¤¸® 341
CHAPTER 13 ÆÄÀ̽㠾ÖÇø®ÄÉÀÌ¼Ç °³¹ß ½ÇÀü 343
13.1 ÀÛ¼ºÇÒ ¾ÖÇø®ÄÉÀÌ¼Ç 345
13.1.1 LGTM À̹ÌÁö¸¦ ÀÚµ¿À¸·Î »ý¼ºÇÏ´Â Ä¿¸Çµå ¶óÀÎ µµ±¸ 345
13.1.2 ÀÌ¿ëÇÒ ÁÖ¿ä ¿ÜºÎ ÆÐÅ°Áö 346
13.2 ÇÁ·ÎÁ§Æ® ÀÛ¼º 349
13.2.1 Git ÀÌ¿ë 350
13.2.2 ÆÐÅ°Áö ¸ðÇü ÀÛ¼º 351
13.3 Áö¼ÓÀûÀÎ ÅëÇÕ µµÀÔ 354
13.3.1 CircleCI¿¡¼ÀÇ Å×½ºÆ® ÀÚµ¿È 354
13.3.2 Å×½ºÆ® ½ÇÇà ¹× °á°ú È®ÀÎ 356
13.4 ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß 358
13.4.1 Ä¿¸Çµå ¶óÀÎ Àμö ¾ò±â 358
13.4.2 À̹ÌÁö ¾ò±â 361
13.4.3 À̹ÌÁö ó¸® 364
13.4.4 °¢°¢ÀÇ Ã³¸® È£Ãâ 366
13.5 ¸í·É¾î·Î ½ÇÇàÇϱâ 367
13.5.1 setup.py ÀÛ¼º 367
13.5.2 µ¿ÀÛ È®ÀÎÇϱâ 368
13.6 Á¤¸® 369
º»¹®Áß¿¡¼
PEP 20: The Zen of Python - ÆÄÀ̽㠼³°è °¡À̵å¶óÀÎ
°¡Àå ¸ÕÀú ³ªÅ¸³ª´Â °Ý¾ðÀÎ ¡®Beautiful is better than ugly.¡¯´Â ¡®¸ø»ý±ä °Íº¸´Ù´Â ¾Æ¸§´Ù¿î °ÍÀÌ ³´´Ù¡¯¶ó´Â Àǹ̷Î, ¿©±â¿¡¼µµ Àб⠽¬¿òÀ» Áß½ÃÇÏ´Â ÆÄÀ̽ãÀÇ Ã¶ÇÐÀÌ ³ªÅ¸³³´Ï´Ù. _13p
½Ä ¾È¿¡¼ ´ëÀÔÀ» ¼öÇàÇÏ´Â := ¿¬»êÀÚ
ÀÌ ¿¬»êÀÚ´Â if ¹®À̳ª ·çÇÁÀÇ Á¶°Ç½Ä ¾È µî¿¡¼ º¯¼ö¿¡ °ªÀ» ´ëÀÔÇÒ ¼ö ÀÖ´Â ¿¬»êÀÚ·Î ¡®PEP 572 -- Assignment Expressions¡¯a¿¡¼ È°¹ßÇÏ°Ô ³íÀÇÇÑ ³¡¿¡ µµÀÔÇÏ¿´½À´Ï´Ù. ÀÌ := ¿¬»êÀÚ´Â ¿·À¸·Î ´©¿î ¹Ù´ÙÄÚ³¢¸®ÀÇ ´«°ú ¾ö´Ï¸¦ ´à¾Æ¼ Walrus operator(¹Ù´ÙÄÚ³¢¸® ¿¬»êÀÚ)¶ó°í ºÎ¸¨´Ï´Ù. _58p
±âº»°ªÀÇ ÇÔÁ¤
print_page() ÇÔ¼ö¸¦ 2ȸ È£ÃâÇßÁö¸¸, Ç¥½ÃµÇ´Â ŸÀÓ½ºÅÆÇÁ´Â ¿ÏÀüÈ÷ °°½À´Ï´Ù. Ç¥½ÃÇÏ°í ½ÍÀº °ÍÀº È£Ãâ ½ÃÀÇ ½Ã°¢Àε¥, ÀÌ ÇÔ¼ö´Â ¿øÇÏ´Â °á°ú¸¦ º¸¿©ÁÖÁö ¾Ê½À´Ï´Ù. ÀÌ ÇÔ¼ö°¡ ±â´ëÇÑ ´ë·Î µ¿ÀÛÇϵµ·Ï ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÕ´Ï´Ù.
... ¼öÁ¤ ÈÄ ½ÇÇà °á°ú¿¡¼´Â È£Ã⠽à ½Ã°¢ÀÌ ¿Ã¹Ù¸£°Ô Ç¥½ÃµÇ¾ú½À´Ï´Ù. _118p
ŸÀÔ Á¤º¸¸¦ ºÎ¿©ÇÔÀ¸·Î½á ¾òÀ» ¼ö ÀÖ´Â ÀåÁ¡
½ÇÇà ½Ã¿¡ ŸÀÔ Ã¼Å©¸¦ ÇÏÁö ¾Ê´Âµ¥µµ ºÒ±¸ÇÏ°í, ŸÀÔ Á¤º¸¸¦ ºÎ¿©ÇÏ´Â Àǹ̴ ¹«¾ùÀϱî¿ä? ¹Ù·Î ŸÀÔ Á¤º¸¸¦ ºÎ¿©Çϸé ÄÚµåÀÇ À¯Áöº¸¼ö¼ºÀÌ ³ô¾ÆÁö±â ¶§¹®ÀÔ´Ï´Ù. ±¸Ã¼ÀûÀ¸·Î´Â Äڵ带 Àд »ç¶÷ÀÇ ÀÌÇظ¦ µ½°Å³ª, mypy5 µîÀÇ Á¤Àû ºÐ¼® µµ±¸¸¦ ÀÌ¿ëÇÑ Å¸ÀÔ Ã¼Å© ÀÌ¿ë, ¿¡µðÅͳª IDEÀÇ ÄÚµå º¸¿Ï Á¤¹Ðµµ Çâ»ó µîÀ» ±â´ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ŸÀÔ Á¤º¸¸¦ È°¿ëÇÑ ÄÚµå ÀÚµ¿ »ý¼º¿¡µµ È°¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. _126p
Á¦³Ê·¹ÀÌÅÍ ½ÇÁ¦ »ç·Ê - ÆÄÀÏ ³»¿ë º¯È¯Çϱâ
Á¦³Ê·¹ÀÌÅÍÀÇ ½ÇÁ¦ »ç·Ê·Î ÆÄÀÏ ³»¿ëÀ» ´ë¹®ÀÚ·Î º¯È¯ÇÏ´Â ÇÁ·Î±×·¥À» ¼Ò°³ÇÕ´Ï´Ù. ÀÌ ÇÁ·Î±×·¥¿¡¼´Â ÆÄÀÏÀ» ÇÑ Ç྿ Àд Á¦³Ê·¹ÀÌÅÍ ÇÔ¼ö reader()¸¦ ¸¸µé°í, ±× ¹Ýȯ°ªÀ» writer() ÇÔ¼ö¿¡ Àü´ÞÇÕ´Ï´Ù. writer() ÇÔ¼ö´Â Àü´Þ¹ÞÀº ÀÌÅÍ·¹ÀÌÅ͸¦ »ç¿ëÇØ ÆÄÀÏÀ» ÇÑ Ç྿ Àаí convert() ÇÔ¼ö·Î º¯È¯ÇÏ¿© °á°ú¸¦ »õ·Î¿î ÆÄÀÏ¿¡ ÇÑ Ç྿ ¾¹´Ï´Ù. Àбâ¡æº¯È¯¡æ¾²±â °úÁ¤À» ÇÑ Ç྿ ¼öÇàÇϱ⠶§¹®¿¡ ´ë»ó ÆÄÀÏÀÇ Å©±â°¡ ¾Æ¹«¸® Å©´õ¶óµµ ¸Þ¸ð¸®¿¡ ºÎÇϸ¦ ÁÖÁö ¾Ê°í µ¿ÀÛÇÕ´Ï´Ù. _223p
ÀÌ°ÍÀ¸·Î LGTM À̹ÌÁö¸¦ ÀÚµ¿À¸·Î »ý¼ºÇϴ ó¸®¸¦ ¿Ï¼ºÇß½À´Ï´Ù. lgtm/core.pyÀÇ cli() ÇÔ¼ö·ÎºÎÅÍ µ¿ÀÛ È®Àοë ó¸® click.echo('lgtm')À» »èÁ¦ÇÏ°í µ¿ÀÛÀ» È®ÀÎÇØ º¾´Ï´Ù. python3 main.py bookÀ» ½ÇÇà ÈÄ À̹ÌÁö °¡¿îµ¥¿¡ Å©°Ô LGTMÀ̶ó°í ¾²ÀÎ À̹ÌÁö output.png°¡ Ãâ·ÂµÇ¾ú´Ù¸é ¼º°øÀÔ´Ï´Ù(±×¸² 13.6). _366
°ü·ÃÀ̹ÌÁö
ÀúÀÚ¼Ò°³
»ý³â¿ùÀÏ | - |
---|
ÇØ´çÀÛ°¡¿¡ ´ëÇÑ ¼Ò°³°¡ ¾ø½À´Ï´Ù.
»ý³â¿ùÀÏ | - |
---|
ÇØ´çÀÛ°¡¿¡ ´ëÇÑ ¼Ò°³°¡ ¾ø½À´Ï´Ù.
ÁÖ°£·©Å·
´õº¸±â»óÇ°Á¤º¸Á¦°ø°í½Ã
À̺¥Æ® ±âȹÀü
Àü°øµµ¼/´ëÇб³Àç ºÐ¾ß¿¡¼ ¸¹Àº ȸ¿øÀÌ ±¸¸ÅÇÑ Ã¥
ÆǸÅÀÚÁ¤º¸
»óÈ£ |
(ÁÖ)±³º¸¹®°í |
---|---|
´ëÇ¥ÀÚ¸í |
¾Èº´Çö |
»ç¾÷ÀÚµî·Ï¹øÈ£ |
102-81-11670 |
¿¬¶ôó |
1544-1900 |
ÀüÀÚ¿ìÆíÁÖ¼Ò |
callcenter@kyobobook.co.kr |
Åë½ÅÆǸž÷½Å°í¹øÈ£ |
01-0653 |
¿µ¾÷¼ÒÀçÁö |
¼¿ïƯº°½Ã Á¾·Î±¸ Á¾·Î 1(Á¾·Î1°¡,±³º¸ºôµù) |
±³È¯/ȯºÒ
¹ÝÇ°/±³È¯ ¹æ¹ý |
¡®¸¶ÀÌÆäÀÌÁö > Ãë¼Ò/¹ÝÇ°/±³È¯/ȯºÒ¡¯ ¿¡¼ ½Åû ¶Ç´Â 1:1 ¹®ÀÇ °Ô½ÃÆÇ ¹× °í°´¼¾ÅÍ(1577-2555)¿¡¼ ½Åû °¡´É |
---|---|
¹ÝÇ°/±³È¯°¡´É ±â°£ |
º¯½É ¹ÝÇ°ÀÇ °æ¿ì Ãâ°í¿Ï·á ÈÄ 6ÀÏ(¿µ¾÷ÀÏ ±âÁØ) À̳»±îÁö¸¸ °¡´É |
¹ÝÇ°/±³È¯ ºñ¿ë |
º¯½É ȤÀº ±¸¸ÅÂø¿À·Î ÀÎÇÑ ¹ÝÇ°/±³È¯Àº ¹Ý¼Û·á °í°´ ºÎ´ã |
¹ÝÇ°/±³È¯ ºÒ°¡ »çÀ¯ |
·¼ÒºñÀÚÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¼Õ½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì ·¼ÒºñÀÚÀÇ »ç¿ë, Æ÷Àå °³ºÀ¿¡ ÀÇÇØ »óÇ° µîÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì ·º¹Á¦°¡ °¡´ÉÇÑ »óÇ° µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì ·½Ã°£ÀÇ °æ°ú¿¡ ÀÇÇØ ÀçÆǸŰ¡ °ï¶õÇÑ Á¤µµ·Î °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì ·ÀüÀÚ»ó°Å·¡ µî¿¡¼ÀÇ ¼ÒºñÀÚº¸È£¿¡ °üÇÑ ¹ý·üÀÌ Á¤ÇÏ´Â ¼ÒºñÀÚ Ã»¾àöȸ Á¦ÇÑ ³»¿ë¿¡ ÇØ´çµÇ´Â °æ¿ì |
»óÇ° Ç°Àý |
°ø±Þ»ç(ÃâÆÇ»ç) Àç°í »çÁ¤¿¡ ÀÇÇØ Ç°Àý/Áö¿¬µÉ ¼ö ÀÖÀ½ |
¼ÒºñÀÚ ÇÇÇغ¸»ó |
·»óÇ°ÀÇ ºÒ·®¿¡ ÀÇÇÑ ±³È¯, A/S, ȯºÒ, Ç°Áúº¸Áõ ¹× ÇÇÇغ¸»ó µî¿¡ °üÇÑ »çÇ×Àº¼ÒºñÀÚºÐÀïÇØ°á ±âÁØ (°øÁ¤°Å·¡À§¿øȸ °í½Ã)¿¡ ÁØÇÏ¿© ó¸®µÊ ·´ë±Ý ȯºÒ ¹× ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó±Ý Áö±Þ Á¶°Ç, ÀýÂ÷ µîÀº ÀüÀÚ»ó°Å·¡ µî¿¡¼ÀǼҺñÀÚ º¸È£¿¡ °üÇÑ ¹ý·ü¿¡ µû¶ó ó¸®ÇÔ |
¹è¼Û¾È³»
±³º¸¹®°í »óÇ°Àº Åùè·Î ¹è¼ÛµÇ¸ç, Ãâ°í¿Ï·á 1~2Àϳ» »óÇ°À» ¹Þ¾Æ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
Ãâ°í°¡´É ½Ã°£ÀÌ ¼·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä »óÇ°À» ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.
±ººÎ´ë, ±³µµ¼Ò µî ƯÁ¤±â°üÀº ¿ìü±¹ Åù踸 ¹è¼Û°¡´ÉÇÕ´Ï´Ù.
¹è¼Ûºñ´Â ¾÷ü ¹è¼Ûºñ Á¤Ã¥¿¡ µû¸¨´Ï´Ù.