- ÇöÀç À§Ä¡
- home > ÄÄÇ»ÅÍ¡¤ICT¡¤¾îÇÐ > ÄÄÇ»ÅÍ¡¤IT µµ¼ > ÇÁ·Î±×·¡¹Ö/¾ð¾î > 21°³ÀÇ ÀÛ°í Àç¹Ì³ ÆÄÀ̽ã ÇÁ·ÎÁ§Æ®[Á¦ÀÌÆà]
¸ðµç ÆÄÀ̽ã ÇÁ·Î±×·¡¸Ó¸¦ À§ÇØ ¸¶·ÃÇÑ ÄÚµù ±â¼úÀ» Çâ»óÇϱâ À§ÇÑ ÃÖ°íÀÇ ÇÑ ±Ç!
ÇÁ·Î±×·¡¹ÖÀÌ Áö·çÇÏ´Ù°í »ý°¢Çϴ°¡? ÀÌ Ã¥Àº 21°¡ÁöÀÇ ÆÛÁñ°ú °ÔÀÓÀ» ÅëÇØ ÆÄÀ̽ãÀÇ ±âº»À» ¾Ë·ÁÁØ´Ù. ½ÇÁ¦ ½Ç½ÀÀ» ÅëÇØ ÇÁ·Î±×·¡¹ÖÀ» Áñ±æ ¼ö ÀÖÀ» »Ó ¾Æ´Ï¶ó ±âº»ÀûÀÎ ÅؽºÆ® ó¸®¿Í ¾Ë°í¸®Áò¿¡ ´ëÇØ ¹è¿ì°í, ¸®½ºÆ®³ª µñ¼Å³Ê¸®¸¦ ´Ù·ê ±âȸµµ ÁÖ¾îÁø´Ù. ÀÌ·± ÇнÀ ¹æ¹ýÀº ÆÄÀ̽ãÀ» óÀ½ Á¢ÇÏ´Â µ¶Àڵ鿡°Ô ¡®³ªµµ ÇÒ ¼ö ÀÖ´Ù¡¯´Â Àڽۨ°ú ½Å¼±ÇÑ °æÇèÀ» ¼±»çÇÒ °ÍÀÌ´Ù. ?Ã¥ÀÇ ÀϺΠ³»¿ëÀ» ¹Ì¸® Àо½Ç ¼ö ÀÖ½À´Ï´Ù. ¹Ì¸®º¸±â
ÇÁ·Î±×·¡¹ÖÀÌ Áö·çÇÏ´Ù°í »ý°¢Çϴ°¡? ÀÌ Ã¥Àº 21°¡ÁöÀÇ ÆÛÁñ°ú °ÔÀÓÀ» ÅëÇØ ÆÄÀ̽ãÀÇ ±âº»À» ¾Ë·ÁÁØ´Ù. ½ÇÁ¦ ½Ç½ÀÀ» ÅëÇØ ÇÁ·Î±×·¡¹ÖÀ» Áñ±æ ¼ö ÀÖÀ» »Ó ¾Æ´Ï¶ó ±âº»ÀûÀÎ ÅؽºÆ® ó¸®¿Í ¾Ë°í¸®Áò¿¡ ´ëÇØ ¹è¿ì°í, ¸®½ºÆ®³ª µñ¼Å³Ê¸®¸¦ ´Ù·ê ±âȸµµ ÁÖ¾îÁø´Ù. ÀÌ·± ÇнÀ ¹æ¹ýÀº ÆÄÀ̽ãÀ» óÀ½ Á¢ÇÏ´Â µ¶Àڵ鿡°Ô ¡®³ªµµ ÇÒ ¼ö ÀÖ´Ù¡¯´Â Àڽۨ°ú ½Å¼±ÇÑ °æÇèÀ» ¼±»çÇÒ °ÍÀÌ´Ù. ?Ã¥ÀÇ ÀϺΠ³»¿ëÀ» ¹Ì¸® Àо½Ç ¼ö ÀÖ½À´Ï´Ù. ¹Ì¸®º¸±â
ÀúÀÚ: ÄË À¯¿£½º-Ŭ¶ô Àú/±è¿Ï¼· ¿ª
CHAPTER 1 ÆÄÀ̽ã ÇÁ·Î±×·¥ ÀÛ¼º ¹× Å×½ºÆ® ¹æ¹ý 1
1.1 ù ÆÄÀ̽ã ÇÁ·Î±×·¥ ÀÛ¼ºÇϱâ 2
1.2 ÁÖ¼® ó¸® 3
1.3 ÇÁ·Î±×·¥ Å×½ºÆ®Çϱâ 3
1.4 #!(¼Å¹ð) Ãß°¡Çϱâ 7
1.5 ½ÇÇà °¡´ÉÇÑ ÇÁ·Î±×·¥ ¸¸µé±â 9
1.6 \$PATH ÀÌÇØÇϱâ 10
1.7 ÇÁ·Î±×·¥ Àμö ¹× µµ¿ò¸» Ãß°¡Çϱâ 13
1.8 ¿É¼Ç Àμö ¸¸µé±â 15
1.9 Å×½ºÆ® ÇÁ·Î±×·¥ ½ÇÇàÇϱâ 17
1.10 main() ÇÔ¼ö Ãß°¡Çϱâ 17
1.11 get_args() ÇÔ¼ö Ãß°¡ 18
1.12 hello.py Å×½ºÆ® 21
1.13 new.py¸¦ »ç¿ëÇØ »õ·Î¿î ÇÁ·Î±×·¥ ½ÃÀÛÇϱâ 22
1.14 new.py ´ë½Å template.py »ç¿ëÇϱâ 25
CHAPTER 2 ¹è À§ÀÇ ¸Á´ë: ¹®ÀÚ¿ ó¸® 29
2.1 ½ÃÀÛÇϱâ 30
2.2 ¿¹½Ã ´ä¾È 47
2.3 Çؼ³ 48
2.4 µµÀü °úÁ¦ 52
CHAPTER 3 ¼Òdz °¡±â: ¸®½ºÆ® »ç¿ë 55
3.1 ÇÁ·Î±×·¥ ½ÃÀÛÇϱâ 56
3.2 picnic.py ÀÛ¼ºÇϱâ 58
3.3 ¸®½ºÆ® 60
3.4 if/elif/else¸¦ »ç¿ëÇÑ Á¶°Ç ºÐ±â¹® 75
3.5 ¿¹½Ã ´ä¾È 76
3.6 Çؼ³ 77
3.7 µµÀü °úÁ¦ 80
CHAPTER 4 ¼ýÀÚ 5 ³Ñ¾î°¡±â: µñ¼Å³Ê¸® »ç¿ë 81
4.1 µñ¼Å³Ê¸® 82
4.2 jump.py ÀÛ¼ºÇϱâ 89
4.3 ¿¹½Ã ´ä¾È 91
4.4 Çؼ³ 92
4.5 µµÀü °úÁ¦ 100
CHAPTER 5 ÇÏ¿ï·¯: ÆÄÀÏ ¹× STDOUT »ç¿ëÇϱâ 101
5.1 ÆÄÀÏ Àбâ 102
5.2 ÆÄÀÏ ¾²±â 108
5.3 howler.py ÀÛ¼ºÇϱâ 110
5.4 ¿¹½Ã ´ä¾È 113
5.5 Çؼ³ 114
5.6 µµÀü °úÁ¦ 119
CHAPTER 6 ´Ü¾î ¼¼±â: ÆÄÀÏ ¹× STDIN Àбâ, ¸®½ºÆ® ¹Ýº¹, ¹®ÀÚ¿ Çü½Ä 121
6.1 wc.py ÀÛ¼ºÇϱâ 123
6.2 ¿¹½Ã ´ä¾È 129
6.3 Çؼ³ 130
6.4 µµÀü °úÁ¦ 133
CHAPTER 7 ¹ÌÁöÀÇ ¼¼°è: µñ¼Å³Ê¸®¿¡¼ ¾ÆÀÌÅÛ Ã£±â 135
7.1 gashlycrumb.py ÀÛ¼ºÇϱâ 137
7.2 ¿¹½Ã ´ä¾È 141
7.3 Çؼ³ 142
7.4 µµÀü °úÁ¦ 146
CHAPTER 8 ¾ÖÇðú ¹Ù³ª³ª: ã±â¿Í ¹Ù²Ù±â 147
8.1 ¹®ÀÚ¿ º¯°æÇϱâ 150
8.2 ¿¹½Ã ´ä¾È 153
8.3 Çؼ³ 154
8.4 Å×½ºÆ®¸¦ ÅëÇÑ ¸®ÆÑÅ丵 173
8.5 µµÀü °úÁ¦ 173
CHAPTER 9 ÀúÁÖÀÇ ÀüÈ: ´Ü¾î ¸ñ·Ï¿¡¼ ¹«ÀÛÀ§ Çè´ã ¸¸µé±â 175
9.1 abuse.py ÀÛ¼ºÇϱâ 177
9.2 ¿¹½Ã ´ä¾È 185
9.3 Çؼ³ 186
9.4 µµÀü °úÁ¦ 192
CHAPTER 10 ÀüÈ: ¹«ÀÛÀ§·Î ¹®ÀÚ¿ º¯°æÇϱâ 193
10.1 telephone.py ÀÛ¼ºÇϱâ 195
10.2 ¿¹½Ã ´ä¾È 204
10.3 Çؼ³ 205
10.4 µµÀü °úÁ¦ 208
CHAPTER 11 ¸ÆÁÖº´ ³ë·¡: ÇÔ¼ö ÀÛ¼º ¹× Å×½ºÆ® 211
11.1 bottles.py ÀÛ¼ºÇϱâ 212
11.2 ¿¹½Ã ´ä¾È 221
11.3 Çؼ³ 223
11.4 µµÀü °úÁ¦ 229
CHAPTER 12 Çù¹Ú ÆíÁö: ÅؽºÆ®¸¦ ¹«ÀÛÀ§·Î ´ë¹®ÀÚÈÇϱâ 231
12.1 ransom.py ÀÛ¼ºÇϱâ 233
12.2 ¿¹½Ã ´ä¾È 236
12.3 Çؼ³ 238
12.4 ¹æ¹ý ºñ±³Çϱâ 243
12.5 µµÀü °úÁ¦ 244
CHAPTER 13 12ÀÏ°£ÀÇ Å©¸®½º¸¶½º: ¾Ë°í¸®Áò µðÀÚÀÎ 245
13.1 twelve_days.py ÀÛ¼ºÇϱâ 246
13.2 ¿¹½Ã ´ä¾È 255
13.3 Çؼ³ 258
13.4 ½ÉÈ ÇнÀ 264
CHAPTER 14 ¿îÀ² »ý¼º±â: Á¤±Ô Ç¥Çö½ÄÀ» »ç¿ëÇؼ ¿îÀ² ¸ÂÃß±â 267
14.1 rhymer.py ÀÛ¼ºÇϱâ 270
14.2 ¿¹½Ã ´ä¾È 282
14.3 Çؼ³ 284
14.4 µµÀü °úÁ¦ 291
CHAPTER 15 ÄËÅÍÅ° ¼öµµ»ç: Á¤±Ô Ç¥Çö½Ä ´õ ¹è¿öº¸±â 293
15.1 friar.py ÀÛ¼ºÇϱâ 296
15.2 ¿¹½Ã ´ä¾È 309
15.3 Çؼ³ 311
15.4 µµÀü °úÁ¦ 314
CHAPTER 16 ¹Í¼±â: ¹«ÀÛÀ§·Î ´Ü¾îÀÇ Áß°£ ºÎºÐ ÀçÁ¤·ÄÇϱâ 317
16.1 scrambler.py ÀÛ¼ºÇϱâ 319
16.2 ¿¹½Ã ´ä¾È 326
16.3 Çؼ³ 328
16.4 µµÀü °úÁ¦ 331
CHAPTER 17 ¸Åµå¸³: Á¤±Ô Ç¥Çö½Ä »ç¿ëÇϱâ 333
17.1 mad.py ÀÛ¼ºÇϱâ 335
17.2 ¿¹½Ã ´ä¾È 343
17.3 Çؼ³ 345
17.4 µµÀü °úÁ¦ 348
CHAPTER 18 °Ô¸¶Æ®¸®¾Æ: ¾Æ½ºÅ°°ªÀ» »ç¿ëÇÑ ÅؽºÆ® ¼öÄ¡È 349
18.1 gematria.py ÀÛ¼ºÇϱâ 351
18.2 ¿¹½Ã ´ä¾È 361
18.3 Çؼ³ 362
18.4 µµÀü °úÁ¦ 367
CHAPTER 19 ¿À´ÃÀÇ ¿îµ¿: CSV ÆÄÀÏ »ç¿ëÇϱâ¿Í ÅؽºÆ® Å×ÀÌºí ¸¸µé±â 369
19.1 wod.py ÀÛ¼ºÇϱâ 371
19.2 ¿¹½Ã ´ä¾È 384
19.3 Çؼ³ 386
19.4 µµÀü °úÁ¦ 393
CHAPTER 20 Æнº¿öµå °µµ: ¾ÈÀüÇÏ°í ±â¾ïÇϱ⠽¬¿î Æнº¿öµå »ý¼ºÇϱâ 395
20.1 password.py ÀÛ¼ºÇϱâ 398
20.2 ¿¹½Ã ´ä¾È 410
20.3 Çؼ³ 413
20.4 µµÀü °úÁ¦ 417
CHAPTER 21 ƽÅÃÅä °ÔÀÓ: »óÅ ȮÀÎÇϱâ 419
21.1 tictactoe.py ÀÛ¼ºÇϱâ 421
21.2 ¿¹½Ã ´ä¾È 427
21.3 µµÀü °úÁ¦ 435
CHAPTER 22 µ¹¾Æ¿Â ƽÅÃÅä °ÔÀÓ: ŸÀÔ ÈùÆ®¸¦ »ç¿ëÇÑ ´ëÈÇü ¹öÀü 437
22.1 itictactoe.py ÀÛ¼ºÇϱâ 438
22.2 ¿¹½Ã ´ä¾È 449
22.3 µµÀü °úÁ¦ 454
APPENDIX argparse »ç¿ëÇϱâ 457
A.1 ÀμöÀÇ Á¾·ù 459
A.2 »õ·Î¿î ÇÁ·Î±×·¥À» ¸¸µé ¶§ ÅÛÇø´ »ç¿ëÇϱâ 460
A.3 argparse »ç¿ëÇϱâ 461
A.4 argparse »ç¿ë ¿¹ 466
1.1 ù ÆÄÀ̽ã ÇÁ·Î±×·¥ ÀÛ¼ºÇϱâ 2
1.2 ÁÖ¼® ó¸® 3
1.3 ÇÁ·Î±×·¥ Å×½ºÆ®Çϱâ 3
1.4 #!(¼Å¹ð) Ãß°¡Çϱâ 7
1.5 ½ÇÇà °¡´ÉÇÑ ÇÁ·Î±×·¥ ¸¸µé±â 9
1.6 \$PATH ÀÌÇØÇϱâ 10
1.7 ÇÁ·Î±×·¥ Àμö ¹× µµ¿ò¸» Ãß°¡Çϱâ 13
1.8 ¿É¼Ç Àμö ¸¸µé±â 15
1.9 Å×½ºÆ® ÇÁ·Î±×·¥ ½ÇÇàÇϱâ 17
1.10 main() ÇÔ¼ö Ãß°¡Çϱâ 17
1.11 get_args() ÇÔ¼ö Ãß°¡ 18
1.12 hello.py Å×½ºÆ® 21
1.13 new.py¸¦ »ç¿ëÇØ »õ·Î¿î ÇÁ·Î±×·¥ ½ÃÀÛÇϱâ 22
1.14 new.py ´ë½Å template.py »ç¿ëÇϱâ 25
CHAPTER 2 ¹è À§ÀÇ ¸Á´ë: ¹®ÀÚ¿ ó¸® 29
2.1 ½ÃÀÛÇϱâ 30
2.2 ¿¹½Ã ´ä¾È 47
2.3 Çؼ³ 48
2.4 µµÀü °úÁ¦ 52
CHAPTER 3 ¼Òdz °¡±â: ¸®½ºÆ® »ç¿ë 55
3.1 ÇÁ·Î±×·¥ ½ÃÀÛÇϱâ 56
3.2 picnic.py ÀÛ¼ºÇϱâ 58
3.3 ¸®½ºÆ® 60
3.4 if/elif/else¸¦ »ç¿ëÇÑ Á¶°Ç ºÐ±â¹® 75
3.5 ¿¹½Ã ´ä¾È 76
3.6 Çؼ³ 77
3.7 µµÀü °úÁ¦ 80
CHAPTER 4 ¼ýÀÚ 5 ³Ñ¾î°¡±â: µñ¼Å³Ê¸® »ç¿ë 81
4.1 µñ¼Å³Ê¸® 82
4.2 jump.py ÀÛ¼ºÇϱâ 89
4.3 ¿¹½Ã ´ä¾È 91
4.4 Çؼ³ 92
4.5 µµÀü °úÁ¦ 100
CHAPTER 5 ÇÏ¿ï·¯: ÆÄÀÏ ¹× STDOUT »ç¿ëÇϱâ 101
5.1 ÆÄÀÏ Àбâ 102
5.2 ÆÄÀÏ ¾²±â 108
5.3 howler.py ÀÛ¼ºÇϱâ 110
5.4 ¿¹½Ã ´ä¾È 113
5.5 Çؼ³ 114
5.6 µµÀü °úÁ¦ 119
CHAPTER 6 ´Ü¾î ¼¼±â: ÆÄÀÏ ¹× STDIN Àбâ, ¸®½ºÆ® ¹Ýº¹, ¹®ÀÚ¿ Çü½Ä 121
6.1 wc.py ÀÛ¼ºÇϱâ 123
6.2 ¿¹½Ã ´ä¾È 129
6.3 Çؼ³ 130
6.4 µµÀü °úÁ¦ 133
CHAPTER 7 ¹ÌÁöÀÇ ¼¼°è: µñ¼Å³Ê¸®¿¡¼ ¾ÆÀÌÅÛ Ã£±â 135
7.1 gashlycrumb.py ÀÛ¼ºÇϱâ 137
7.2 ¿¹½Ã ´ä¾È 141
7.3 Çؼ³ 142
7.4 µµÀü °úÁ¦ 146
CHAPTER 8 ¾ÖÇðú ¹Ù³ª³ª: ã±â¿Í ¹Ù²Ù±â 147
8.1 ¹®ÀÚ¿ º¯°æÇϱâ 150
8.2 ¿¹½Ã ´ä¾È 153
8.3 Çؼ³ 154
8.4 Å×½ºÆ®¸¦ ÅëÇÑ ¸®ÆÑÅ丵 173
8.5 µµÀü °úÁ¦ 173
CHAPTER 9 ÀúÁÖÀÇ ÀüÈ: ´Ü¾î ¸ñ·Ï¿¡¼ ¹«ÀÛÀ§ Çè´ã ¸¸µé±â 175
9.1 abuse.py ÀÛ¼ºÇϱâ 177
9.2 ¿¹½Ã ´ä¾È 185
9.3 Çؼ³ 186
9.4 µµÀü °úÁ¦ 192
CHAPTER 10 ÀüÈ: ¹«ÀÛÀ§·Î ¹®ÀÚ¿ º¯°æÇϱâ 193
10.1 telephone.py ÀÛ¼ºÇϱâ 195
10.2 ¿¹½Ã ´ä¾È 204
10.3 Çؼ³ 205
10.4 µµÀü °úÁ¦ 208
CHAPTER 11 ¸ÆÁÖº´ ³ë·¡: ÇÔ¼ö ÀÛ¼º ¹× Å×½ºÆ® 211
11.1 bottles.py ÀÛ¼ºÇϱâ 212
11.2 ¿¹½Ã ´ä¾È 221
11.3 Çؼ³ 223
11.4 µµÀü °úÁ¦ 229
CHAPTER 12 Çù¹Ú ÆíÁö: ÅؽºÆ®¸¦ ¹«ÀÛÀ§·Î ´ë¹®ÀÚÈÇϱâ 231
12.1 ransom.py ÀÛ¼ºÇϱâ 233
12.2 ¿¹½Ã ´ä¾È 236
12.3 Çؼ³ 238
12.4 ¹æ¹ý ºñ±³Çϱâ 243
12.5 µµÀü °úÁ¦ 244
CHAPTER 13 12ÀÏ°£ÀÇ Å©¸®½º¸¶½º: ¾Ë°í¸®Áò µðÀÚÀÎ 245
13.1 twelve_days.py ÀÛ¼ºÇϱâ 246
13.2 ¿¹½Ã ´ä¾È 255
13.3 Çؼ³ 258
13.4 ½ÉÈ ÇнÀ 264
CHAPTER 14 ¿îÀ² »ý¼º±â: Á¤±Ô Ç¥Çö½ÄÀ» »ç¿ëÇؼ ¿îÀ² ¸ÂÃß±â 267
14.1 rhymer.py ÀÛ¼ºÇϱâ 270
14.2 ¿¹½Ã ´ä¾È 282
14.3 Çؼ³ 284
14.4 µµÀü °úÁ¦ 291
CHAPTER 15 ÄËÅÍÅ° ¼öµµ»ç: Á¤±Ô Ç¥Çö½Ä ´õ ¹è¿öº¸±â 293
15.1 friar.py ÀÛ¼ºÇϱâ 296
15.2 ¿¹½Ã ´ä¾È 309
15.3 Çؼ³ 311
15.4 µµÀü °úÁ¦ 314
CHAPTER 16 ¹Í¼±â: ¹«ÀÛÀ§·Î ´Ü¾îÀÇ Áß°£ ºÎºÐ ÀçÁ¤·ÄÇϱâ 317
16.1 scrambler.py ÀÛ¼ºÇϱâ 319
16.2 ¿¹½Ã ´ä¾È 326
16.3 Çؼ³ 328
16.4 µµÀü °úÁ¦ 331
CHAPTER 17 ¸Åµå¸³: Á¤±Ô Ç¥Çö½Ä »ç¿ëÇϱâ 333
17.1 mad.py ÀÛ¼ºÇϱâ 335
17.2 ¿¹½Ã ´ä¾È 343
17.3 Çؼ³ 345
17.4 µµÀü °úÁ¦ 348
CHAPTER 18 °Ô¸¶Æ®¸®¾Æ: ¾Æ½ºÅ°°ªÀ» »ç¿ëÇÑ ÅؽºÆ® ¼öÄ¡È 349
18.1 gematria.py ÀÛ¼ºÇϱâ 351
18.2 ¿¹½Ã ´ä¾È 361
18.3 Çؼ³ 362
18.4 µµÀü °úÁ¦ 367
CHAPTER 19 ¿À´ÃÀÇ ¿îµ¿: CSV ÆÄÀÏ »ç¿ëÇϱâ¿Í ÅؽºÆ® Å×ÀÌºí ¸¸µé±â 369
19.1 wod.py ÀÛ¼ºÇϱâ 371
19.2 ¿¹½Ã ´ä¾È 384
19.3 Çؼ³ 386
19.4 µµÀü °úÁ¦ 393
CHAPTER 20 Æнº¿öµå °µµ: ¾ÈÀüÇÏ°í ±â¾ïÇϱ⠽¬¿î Æнº¿öµå »ý¼ºÇϱâ 395
20.1 password.py ÀÛ¼ºÇϱâ 398
20.2 ¿¹½Ã ´ä¾È 410
20.3 Çؼ³ 413
20.4 µµÀü °úÁ¦ 417
CHAPTER 21 ƽÅÃÅä °ÔÀÓ: »óÅ ȮÀÎÇϱâ 419
21.1 tictactoe.py ÀÛ¼ºÇϱâ 421
21.2 ¿¹½Ã ´ä¾È 427
21.3 µµÀü °úÁ¦ 435
CHAPTER 22 µ¹¾Æ¿Â ƽÅÃÅä °ÔÀÓ: ŸÀÔ ÈùÆ®¸¦ »ç¿ëÇÑ ´ëÈÇü ¹öÀü 437
22.1 itictactoe.py ÀÛ¼ºÇϱâ 438
22.2 ¿¹½Ã ´ä¾È 449
22.3 µµÀü °úÁ¦ 454
APPENDIX argparse »ç¿ëÇϱâ 457
A.1 ÀμöÀÇ Á¾·ù 459
A.2 »õ·Î¿î ÇÁ·Î±×·¥À» ¸¸µé ¶§ ÅÛÇø´ »ç¿ëÇϱâ 460
A.3 argparse »ç¿ëÇϱâ 461
A.4 argparse »ç¿ë ¿¹ 466
¸ðµç ÆÄÀ̽ã ÇÁ·Î±×·¡¸Ó¸¦ À§ÇØ ¸¶·ÃÇÑ ÄÚµù ±â¼úÀ» Çâ»óÇϱâ À§ÇÑ ÃÖ°íÀÇ ÇÑ ±Ç!
ÀÌ Ã¥Àº ´Ù¸¥ Ã¥µé°ú ´Þ¸® ¸í·ÉÁÙ ÇÁ·Î±×·¥À» »ç¿ëÇؼ ´Ù¾çÇÑ ÆÄÀ̽ãÀÇ ±â´ÉÀ» ¼³¸íÇÏ°í ÀÖ´Ù. °¢ À帶´Ù ¹®Á¦ Çü½ÄÀ¸·Î ±¸¼ºµÅ ÀÖ¾î, ½º½º·Î ¹®Á¦¸¦ Ç® ¼ö ÀÖµµ·Ï À¯µµÇÑ´Ù. ¼³¸í¸¸ Àß µû¶ó°£´Ù¸é È¥ÀÚ¼µµ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. Ã¥À» ÀÐÁö¸¸ ¸»°í ²À ÁÖ¾îÁø ¹®Á¦¸¦ ½º½º·Î ÇØ°áÇغ¸ÀÚ. ½Ç·ÂÀÌ ´À´Â °ÍÀº ¹°·ÐÀÌ¿ä, ÁÖ¾îÁø Å×½ºÆ®¸¦ Åë°ú(pass)ÇßÀ» ¶§ ´À³¢´Â ¼ºÃë°¨Àº ȲȦÇÒ Á¤µµ´Ù.
¾Æ¿ï·¯ ÀÌ Ã¥Àº Àß ±¸Á¶ÈµÇ°í ¹®¼ÈµÅ ÀÖÀ¸¸ç, Å×½ºÆ®ÇÒ ¼ö ÀÖ´Â Äڵ带 ÆÄÀ̽ãÀ¸·Î ÀÛ¼ºÇÏ´Â ¹æ¹ýÀ» ¾Ë·ÁÁØ´Ù. Å×½ºÆ® ÁÖµµ °³¹ß(test-driven development)ó·³ ½Ç¹«¿¡¼ »ç¿ëµÇ°í ÀÖ´Â ±â¼úµµ ¼Ò°³ÇÑ´Ù. ±×¸®°í ¹®¼¸¦ Àд ¹æ¹ý°ú ÆÄÀ̽㠰³¼± Á¦¾È¼(Python Enhancement Proposal, PEP) Âü°í ¹æ¹ý µîÀ» ¼Ò°³Çϸç, ´Ù¸¥ ÆÄÀ̽㠰³¹ßÀÚµµ ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Â ÄÚµå ÀÛ¼º¹ý¿¡ ´ëÇؼµµ ¾Ë·ÁÁØ´Ù.
¾î¶² ¹æ½ÄÀ» »ç¿ëÇϵçÁö ÀÌ Ã¥¿¡ ÀÖ´Â ¸ðµç ÄÚµå´Â Á÷Á¢ ÀÔ·ÂÇØ º¸ÀÚ. À̸¦ ÅëÇØ ±â¾ï ±ÙÀ°À» ´Ü·ÃÇÒ ¼ö ÀÖÀ» »Ó¸¸ ¾Æ´Ï¶ó ¾ð¾î°¡ °¡Áø ¹®¹ýÀ» ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ÇÁ·ÎÁ§Æ®ÀÇ ±Ô¸ð´Â ºñ·Ï ÀÛÁö¸¸, ¾òÀ» ¼ö ÀÖ´Â º¸»óÀº ³Ê¹«³ªµµ Å©´Ù. éÅ͸¶´Ù »õ·Î¿î ÆÄÀ̽ã ÇÁ·Î±×·¥(Æнº¿öµå »ý¼º±â, ´Ü¾î ¿îÀ²±â, ¼ÎÀͽºÇǾî½Ä Çè´ã »ý¼º±â µî)À» ¼Ò°³ÇÏ¿© µ¶ÀÚ¿¡°Ô µµÀü ÀÇ¿åÀ» ºÒ·¯ÀÏÀ¸Å²´Ù. ÀÌ·± Àç¹ÌÀÖ´Â ½Ç½ÀÀ» ¸ðµÎ ¸¶Ä¡¸é ¿©·¯ºÐÀº ÆÄÀ̽ã Ãʺ¸ÀÚ°¡ ¾Æ´Ï¶ó Àڽۨ ÀÖ´Â ÇÁ·Î±×·¡¸Ó·Î ¼ºÀåÇÒ ¼ö ÀÖÀ» °ÍÀ̸ç, ¹«¾ùº¸´Ù ÀÌ °úÁ¤ÀÌ Áñ°Å¿î ±â¾ïÀ¸·Î ³²°Ô µÉ °ÍÀÌ´Ù.
ÀÌ Ã¥ÀÇ ÁÖ¿ä ³»¿ë
-¸í·ÉÁÙ¿¡¼ ÆÄÀ̽ã ÇÁ·Î±×·¥ ÀÛ¼ºÇϱâ
-ÆÄÀ̽ãÀÇ µ¥ÀÌÅÍ ±¸Á¶ ó¸®Çϱâ
-¹«ÀÛÀ§¼º »ç¿ë ¹× Á¦¾îÇϱâ
-ÇÁ·Î±×·¥ ¹× ÇÔ¼ö¿ë Å×½ºÆ® ÄÚµå ÀÛ¼º°ú ½ÇÇàÇϱâ
-°¢ ÇÁ·ÎÁ§Æ®¸¦ À§ÇÑ Å×½ºÆ® Åø ´Ù¿î·ÎµåÇϱâ
ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ
-ÀÚ½ÅÀÇ ÇÁ·Î±×·¡¹Ö ½Ç·ÂÀ» ÇÑ ´Ü°è ´õ ²ø¾î¿Ã¸®°í ½ÍÀº ºÐ
-´Ù¸¥ ¾ð¾î¸¦ Á¢ÇÑ °æÇèÀº ÀÖÁö¸¸ ÆÄÀ̽㠾ð¾î´Â óÀ½ÀÎ ºÐ
ÀÌ Ã¥Àº ´Ù¸¥ Ã¥µé°ú ´Þ¸® ¸í·ÉÁÙ ÇÁ·Î±×·¥À» »ç¿ëÇؼ ´Ù¾çÇÑ ÆÄÀ̽ãÀÇ ±â´ÉÀ» ¼³¸íÇÏ°í ÀÖ´Ù. °¢ À帶´Ù ¹®Á¦ Çü½ÄÀ¸·Î ±¸¼ºµÅ ÀÖ¾î, ½º½º·Î ¹®Á¦¸¦ Ç® ¼ö ÀÖµµ·Ï À¯µµÇÑ´Ù. ¼³¸í¸¸ Àß µû¶ó°£´Ù¸é È¥ÀÚ¼µµ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. Ã¥À» ÀÐÁö¸¸ ¸»°í ²À ÁÖ¾îÁø ¹®Á¦¸¦ ½º½º·Î ÇØ°áÇغ¸ÀÚ. ½Ç·ÂÀÌ ´À´Â °ÍÀº ¹°·ÐÀÌ¿ä, ÁÖ¾îÁø Å×½ºÆ®¸¦ Åë°ú(pass)ÇßÀ» ¶§ ´À³¢´Â ¼ºÃë°¨Àº ȲȦÇÒ Á¤µµ´Ù.
¾Æ¿ï·¯ ÀÌ Ã¥Àº Àß ±¸Á¶ÈµÇ°í ¹®¼ÈµÅ ÀÖÀ¸¸ç, Å×½ºÆ®ÇÒ ¼ö ÀÖ´Â Äڵ带 ÆÄÀ̽ãÀ¸·Î ÀÛ¼ºÇÏ´Â ¹æ¹ýÀ» ¾Ë·ÁÁØ´Ù. Å×½ºÆ® ÁÖµµ °³¹ß(test-driven development)ó·³ ½Ç¹«¿¡¼ »ç¿ëµÇ°í ÀÖ´Â ±â¼úµµ ¼Ò°³ÇÑ´Ù. ±×¸®°í ¹®¼¸¦ Àд ¹æ¹ý°ú ÆÄÀ̽㠰³¼± Á¦¾È¼(Python Enhancement Proposal, PEP) Âü°í ¹æ¹ý µîÀ» ¼Ò°³Çϸç, ´Ù¸¥ ÆÄÀ̽㠰³¹ßÀÚµµ ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Â ÄÚµå ÀÛ¼º¹ý¿¡ ´ëÇؼµµ ¾Ë·ÁÁØ´Ù.
¾î¶² ¹æ½ÄÀ» »ç¿ëÇϵçÁö ÀÌ Ã¥¿¡ ÀÖ´Â ¸ðµç ÄÚµå´Â Á÷Á¢ ÀÔ·ÂÇØ º¸ÀÚ. À̸¦ ÅëÇØ ±â¾ï ±ÙÀ°À» ´Ü·ÃÇÒ ¼ö ÀÖÀ» »Ó¸¸ ¾Æ´Ï¶ó ¾ð¾î°¡ °¡Áø ¹®¹ýÀ» ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ÇÁ·ÎÁ§Æ®ÀÇ ±Ô¸ð´Â ºñ·Ï ÀÛÁö¸¸, ¾òÀ» ¼ö ÀÖ´Â º¸»óÀº ³Ê¹«³ªµµ Å©´Ù. éÅ͸¶´Ù »õ·Î¿î ÆÄÀ̽ã ÇÁ·Î±×·¥(Æнº¿öµå »ý¼º±â, ´Ü¾î ¿îÀ²±â, ¼ÎÀͽºÇǾî½Ä Çè´ã »ý¼º±â µî)À» ¼Ò°³ÇÏ¿© µ¶ÀÚ¿¡°Ô µµÀü ÀÇ¿åÀ» ºÒ·¯ÀÏÀ¸Å²´Ù. ÀÌ·± Àç¹ÌÀÖ´Â ½Ç½ÀÀ» ¸ðµÎ ¸¶Ä¡¸é ¿©·¯ºÐÀº ÆÄÀ̽ã Ãʺ¸ÀÚ°¡ ¾Æ´Ï¶ó Àڽۨ ÀÖ´Â ÇÁ·Î±×·¡¸Ó·Î ¼ºÀåÇÒ ¼ö ÀÖÀ» °ÍÀ̸ç, ¹«¾ùº¸´Ù ÀÌ °úÁ¤ÀÌ Áñ°Å¿î ±â¾ïÀ¸·Î ³²°Ô µÉ °ÍÀÌ´Ù.
ÀÌ Ã¥ÀÇ ÁÖ¿ä ³»¿ë
-¸í·ÉÁÙ¿¡¼ ÆÄÀ̽ã ÇÁ·Î±×·¥ ÀÛ¼ºÇϱâ
-ÆÄÀ̽ãÀÇ µ¥ÀÌÅÍ ±¸Á¶ ó¸®Çϱâ
-¹«ÀÛÀ§¼º »ç¿ë ¹× Á¦¾îÇϱâ
-ÇÁ·Î±×·¥ ¹× ÇÔ¼ö¿ë Å×½ºÆ® ÄÚµå ÀÛ¼º°ú ½ÇÇàÇϱâ
-°¢ ÇÁ·ÎÁ§Æ®¸¦ À§ÇÑ Å×½ºÆ® Åø ´Ù¿î·ÎµåÇϱâ
ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ
-ÀÚ½ÅÀÇ ÇÁ·Î±×·¡¹Ö ½Ç·ÂÀ» ÇÑ ´Ü°è ´õ ²ø¾î¿Ã¸®°í ½ÍÀº ºÐ
-´Ù¸¥ ¾ð¾î¸¦ Á¢ÇÑ °æÇèÀº ÀÖÁö¸¸ ÆÄÀ̽㠾ð¾î´Â óÀ½ÀÎ ºÐ