ÄÜÅÙÃ÷»ó¼¼º¸±â

(Better Python Code)ÆÄÀ̽ã ÄÚµùÀÇ ±â¼ú 51
(Better Python Code)ÆÄÀ̽ã ÄÚµùÀÇ ±â¼ú 51
  • ÀúÀÚ<µ¥À̺ñµå ¸Þ¸£Ã÷> Àú/<±èÁøÈ£> ¿ª
  • ÃâÆÇ»ç±æ¹þ
  • ÃâÆÇÀÏ2024-07-18
  • µî·ÏÀÏ2024-10-21
º¸À¯ 2, ´ëÃâ 0, ¿¹¾à 0, ´©Àû´ëÃâ 5, ´©Àû¿¹¾à 9

Ã¥¼Ò°³

ÆÄÀ̽㠼³°è Ã¶ÇбîÁö ÀÌÇØÇϴ ÆÄÀ̽ã ÄÚµùÀÇ ±â¼ú ½ÇÀüÆí 51!
Áö±Ýº¸´Ù ´õ ³ªÀº ÇÁ·Î±×·¡¸Ó°¡ µÇ°í ½ÍÀº, ¸ðµç ÆÄÀ̽㠰³¹ßÀÚ¸¦ À§ÇÑ, ÆÄÀ̽ã Àü¹®°¡ °¡À̵å!
 
ÆÄÀ̽ã ÄÚµù¿¡´Â ÆÄÀ̽㠴ٿâ¼úÀÌ ÇÊ¿äÇÏ´Ù! ÀúÀڴ 25³â°£ ¿­Á¤ÀûÀ¸·Î ÆÄÀ̽ãÀ» »ç¶ûÇÏ°í »ç¿ëÇØ¿À¸é¼­ ÀÚ½ÅÀÇ Äڵ堹נ½ÇÁ¦ Çö¾÷ Äڵ忡¼­ ÆÄÀ̽㠰³¹ßÀÚµéÀÌ ½±°Ô ºüÁö´Â À߸ø, ÇÔÁ¤, ¿À·ùµéÀ» ¹ß°ßÇØ ¿Ô´Ù. À̠åÀº ±× Áß 51°¡Áö¸¦ ¼±º°ÇØ °ü·ÃµÈ °³³ä³¢¸® ¹­¾î¼­ ÃÑ 9°³ ÀåÀ¸·Î ¼Ò°³ÇÑ´Ù. °¢ Àå°ú ÀýÀÇ ³»¿ëÀº ¼­·Î µ¶¸³ÀûÀ¸·Î ±¸¼ºÇÏ¿© ±×¶§±×¶§ ÇÊ¿äÇÑ ºÎºÐ¸¸ Âü°íÇÒ ¼ö ÀÖ°Ô Çß´Ù. ¶ÇÇÑ, ½ÇÁ¦ ÇÁ·ÎÁ§Æ® »óȲ ¹× °£°áÇÏ°í ¸íÈ®ÇÑ ¿¹Á¦¸¦ Á¦½ÃÇØ ¹®Á¦¿Í ¼Ö·ç¼ÇÀ» ±íÀÌ ÀÌÇØÇÏ°í, ¹®Á¦¿¡ ´ëÇØ ¿Ã¹Ù¸£°Ô »ç°íÇϴ ¹æ¹ýÀ» ¼³¸íÇÏ·Á°í ³ë·ÂÇß´Ù. ¹®Á¦¿Í ¼Ö·ç¼ÇÀ» ÀÌÇØÇϴ °úÁ¤¿¡¼­ ÆÄÀ̽ãÀÇ ¼³°è Ã¶Çаú ÆÄÀ̽ãÀÌ Ãß±¸Çϴ °¡Ä¡¸¦ ´Ù½Ã Çѹø »ó±âÇÏ°í, ÆÄÀ̽ãÀÇ ÀáÀç·ÂÀ» ²ø¾î¿Ã¸®´Â ÇÁ·Î±×·¡¹Ö ±â¹ýÀ» ¹è¿ì°í, ±Ã±ØÀûÀ¸·Î ÆÄÀ̽ã ÄÚµåÀÇ ÁúÀ» ÇÑ ´Ü°è Çâ»ó½Ãų ¼ö ÀÖÀ» °ÍÀÌ´Ù.

ÀúÀÚ¼Ò°³

25³âÀ̶ó´Â ¿À·£ ½Ã°£ µ¿¾È ÆÄÀ̽ã Ä¿¹Â´ÏƼÀÇ ÀÏ¿øÀ¸·Î È°µ¿ÇÏ°í ÀÖÀ¸¸ç, ÆÄÀ̽㠾ð¾îÀÇ ¹ßÀüÀ» ¹ÐÁ¢ÇÏ°Ô µû¶ó¿À¸é¼­ ¹öÀüº° º¯°æ »çÇ׿¡ ´ëÇØ ±âÁ¶ °­¿¬À» ÇÏ°í, ÇÁ·Î±×·¡¹Ö Ãʺ¸ÀÚ, ´Ù¸¥ ¾ð¾î ±â¹ÝÀÇ °³¹ßÀÚ, µ¥ÀÌÅÍ °úÇÐÀÚ¿¡°Ô ÆÄÀ̽ãÀ» °¡¸£ÃÆ´Ù. °³¹ßÀÚ¿Í µ¥ÀÌÅÍ °úÇÐÀÚ¿¡°Ô ±â°è ÇнÀ°ú °úÇРÄÄÇ»ÆÃÀ» ±³À°Çϴ KDM TrainingÀÇ ¼³¸³ÀÚ·Î, Anaconda Inc.¸¦ À§ÇÑ µ¥ÀÌÅÍ °úÇР±³À° ÇÁ·Î±×·¥À» ¸¸µé¾úÀ¸¸ç ¼ö¼® ±³À°ÀڷΠȰµ¿ÇÏ¿´´Ù. ±íÀº ½Å°æ¸Á(deep neural network)ÀÇ µîÀå°ú ÇÔ²² ·Îº¿ Áö¹èÀÚ¸¦ ±³À°Çϴ µ¥µµ ´«À» µ¹·Á D.E. Shaw Research¿¡¼­ 8³â µ¿¾È ±Ù¹«Çß´Ù. 6³â µ¿¾È PSFÀÇ ÀÌ»ç·Î È°µ¿ÇßÀ¸¸ç, Áö±Ýµµ PSFÀÇ »óÇ¥ À§¿øȸ¿Í °úÇРÆÄÀ̽ã ÀÛ¾÷ ±×·ìÀÇ °øµ¿ ÀÇÀåÀ» ¸Ã°í ÀÖ´Ù. 2000³â´ë¿¡ ¾´ ¡¸¸Å·ÂÀûÀΠÆÄÀ̽ã(Charming Python)¡¹°ú ¡¸XML ¹®Á¦(XML matters)¡¹ Ä®·³Àº ÆÄÀ̽㠼¼°è¿¡¼­ °¡À堳θ® ÀÐÈù ±ÛÀÌ´Ù. ÆÑÆ®(Packt), ¿À¶óÀϸ®(O'Reilly), ¾Öµð½¼ ¿þ½½¸®(Addison-Wesley)¸¦ ÅëÇØ ÁýÇʼ­¸¦ Ãâ°£ÇßÀ¸¸ç, ¿©·¯ ±¹Á¦ ÇÁ·Î±×·¡¹Ö È¸ÀÇ¿¡¼­ ±âÁ¶¿¬¼³À» Çß´Ù. 

¸ñÂ÷

1Àå À߸øµÈ ¹æ½ÄÀ¸·Î ¼øȯÇϱâ
__1.1 (µå¹°Áö¸¸) ¼øȯÀ» À§ÇØ ¸ñ·Ï »ý¼ºÇϱâ
__1.2 »öÀÎÀ» ¼øȯÇϴ ´ë½Å enumerate( ) »ç¿ëÇϱâ
__1.3 dict.items( )°¡ ÇÊ¿äÇÒ °æ¿ì dict.keys( )·Î ¼øȯÇÏÁö ¾Ê±â
__1.4 ¼øȯ Áß °´Ã¼ º¯Çü
__1.5 while ¼øȯº¸´Ù for ¼øȯ »ç¿ëÇϱâ
__1.6 ¡®¼øȯ°ú Àý¹Ý¡¯À» À§ÇÑ ¹Ù´ÙÄÚ³¢¸® ¿¬»êÀÚ
__1.7 zip( )À¸·Î ´ÙÁß ¹Ýº¹ °¡´É °´Ã¼ °£¼ÒÈ­Çϱâ
__1.8 zip(strict=True)°ú itertools.zip_longest( )
__1.9 Á¤¸®
 
 
2Àå µ¿µî¼º°ú µ¿ÀϼºÀǠȥµ¿
__2.1 Å¬·ÎÀúÀÇ ´ÊÀº ¿¬°á
__2.2 ºÒ¸®¾ð ³í¸® °ª¿¡ ´ëÇÑ Áö³ªÄ£ °ËÁõ
__2.3 x == None ºñ±³Çϱâ
__2.4 °¡º¯ ±âº» ¸Å°³ º¯¼ö¿¡ ´ëÇÑ ¿ÀÇØ
____2.4.1 Ã¹ ¹ø° ¹æ¹ý, Å¬·¡½º »ç¿ëÇϱâ
____2.4.2 µÎ ¹ø° ¹æ¹ý, None º¸ÃÊ °ª »ç¿ëÇϱâ
____2.4.3 ¼¼ ¹ø° ¹æ¹ý, »óÅ »ý¼º±âÀÇ ÀÌÁ¡ ÀÌ¿ëÇϱâ
__2.5 °¡º¯ °´Ã¼¿¡ ´ëÇÑ º¹»ç ´ë ÂüÁ¶
__2.6 (Àç»ç¿ëÀÌ Àִ »óȲ¿¡¼­) is¿Í == È¥µ¿Çϱâ
__2.7 Á¤¸®
 
 
3Àå ÆÄÀ̽ãÀÇ ¿©·¯ °¡Áö ÇÔÁ¤
__3.1 À̸§ ÁöÁ¤
____3.1.1 Ç¥ÁØ ¶óÀ̺귯¸® ¸ðµâ°ú µ¿ÀÏÇÑ ÆÄÀÏ À̸§ »ç¿ëÇϱâ
____3.1.2 import * »ç¿ë ÇÇÇϱâ
____3.1.3 ºñ¾î Àְųª Áö³ªÄ¡°Ô ÀϹÝÀûÀΠexcept ¹®
__3.2 ´Ü¼ø ¹®ÀÚ¿­ ¿¬°áÀÇ 2Â÷ ½Ã°£ º¹Àâµµ
__3.3 ÆÄÀÏÀ» ¿­ ¶§ »óȲ Á¤º¸ °ü¸®ÀÚ »ç¿ëÇϱâ
____3.3.1 Ã¹ ¹ø° À§Çè
____3.3.2 µÎ ¹ø° À§Çè
____3.3.3 Ãë¾à¼º ¼öÁ¤Çϱâ
__3.4 .sort( )¿Í sorted( )ÀÇ ¼±ÅÃÀû ¸Å°³ º¯¼ö key
__3.5 ºÒÈ®½ÇÇÑ Å°¿¡´Â dict.get( ) »ç¿ëÇϱâ
__3.6 Á¤¸®
 
 
4Àå ÆÄÀ̽㠰í±Þ È°¿ë
__4.1 type(x) == type(y) ºñ±³Çϱâ
__4.2 (´Ù½Ã Çѹø) À̸§ ÁöÁ¤
____4.2.1 ³»Àå À̸§ÀÇ ÀçÁ¤ÀÇ
____4.2.2 º¸È£µÈ ¼Ó¼º¿¡ Á÷Á¢ Á¢±ÙÇϱâ
__4.3 »ç¿ë ºóµµ°¡ ³·Àº ±â´É¿¡ ÁÖ¸ñÇϱâ
____4.3.1 f ¹®ÀÚ¿­ µð¹ö±ë
____4.3.2 °¡°øÀÚÀÇ ¿ì¾ÆÇÑ ¸¶¹ý
____4.3.3 itertools (ÃæºÐÈ÷) »ç¿ëÇϱâ
____4.3.4 more-itertools Á¦3ÀÚ ¶óÀ̺귯¸®
__4.4 ÀÚ·áÇü ÁÖ¼®Àº ½ÇÇ࠽ð£ ÀÚ·áÇüÀÌ ¾Æ´Ï´Ù
____4.4.1 ÀÚ·áÇü ÁÖ¼®Àº ½ÇÇ࠽ð£ Á¦¾àÀÌ ¾Æ´Ï´Ù
____4.4.2 typing.NewType()À» ½ÇÇ࠽ð£ ÀÚ·áÇüÀ¸·Î ¿ÀÇØÇϱâ
__4.5 Á¤¸®
 
 
5Àå ÇÒ ¼ö ÀÖ´Ù°í Çؼ­ ÇؾߠÇѴٴ ¶æÀº ¾Æ´Ï´Ù
__5.1 ¸ÞŸŬ·¡½º
__5.2 ¿ø¼þÀÌ ÆÐÄ¡
__5.3 Àб⠸޼­µå¿Í ¼³Á¤ ¸Þ¼­µå
__5.4 Çã¶ôº¸´Ù ¿ë¼­¹Þ´Â °ÍÀÌ ´õ ½±´Ù
__5.5 ±¸Á¶Àû ÆÐÅÏ ´ëÁ¶
__5.6 Á¤±Ô Ç¥Çö½Ä°ú Àç¾ÓÀû ¿ªÃßÀû
__5.7 Á¤¸®
 
 
6Àå ÀûÀýÇÑ µ¥ÀÌÅÍ ±¸Á¶ ¼±ÅÃÇϱâ
__6.1 collections.defaultdict
__6.2 collections.Counter
____6.2.1 ÇØ°áÃ¥
____6.2.2 À߸ø
__6.3 collections.deque
____6.3.1 ÇØ°áÃ¥
____6.3.2 À߸ø
__6.4 collections.ChainMap
____6.4.1 ÇØ°áÃ¥
____6.4.2 À߸ø
__6.5 µ¥ÀÌÅ͠Ŭ·¡½º¿Í ¸í¸íµÈ Æ©ÇÃ
____6.5.1 ¸í¸íµÈ Æ©Çà»ç¿ëÇϱâ
____6.5.2 Á¤Àû°ú µ¿Àû
____6.5.3 µ¥ÀÌÅ͠Ŭ·¡½º
__6.6 È¿°úÀûÀΠ±¸»ó ¿¬¼Ó ¼ø¼­¿­
__6.7 Á¤¸®
 
 
7Àå µ¥ÀÌÅÍ ±¸Á¶ÀÇ À߸øµÈ »ç¿ë
__7.1 ¹Ýº¹µÈ ¸ñ·Ï Å½»öÀÇ 2Â÷ ½Ã°£ º¹Àâµµ
__7.2 ¸ñ·Ï Áß°£¿¡¼­ ¿ä¼Ò¸¦ Á¦°ÅÇϰųª Ãß°¡Çϱâ
____7.2.1 Á» ´õ È¿À²ÀûÀΠµ¥ÀÌÅÍ ±¸Á¶
__7.3 ¹®ÀÚ¿­Àº ¹®ÀÚ¿­ÀÇ ¹Ýº¹ °¡´ÉÇÑ °´Ã¼ ÁýÇÕ
__7.4 »ó¼ö¸¦ »ç¿ëÇϴ ´ë½Å enumÀ» (ÀÚÁÖ) »ç¿ëÇϱâ
__7.5 ¸¹ÀÌ ¾Ë·ÁÁöÁö ¾ÊÀº »çÀü ¸Þ¼­µå ÀÍÈ÷±â
____7.5.1 °´Ã¼¸¦ Á¤ÀÇÇϴ »çÀü
____7.5.2 Á¤±âÀûÀ¸·Î ¹ß»ýÇϴ À߸øÀ¸·Î µ¹¾Æ°¡±â
__7.6 JSON°ú ÆÄÀ̽ãÀº ¼­·Î ±ò²ûÇÏ°Ô º¯È¯µÇÁö ¾Ê´Â´Ù
____7.6.1 JSON¿¡ ´ëÇÑ ¸î °¡Áö ¹è°æ
____7.6.2 ¿Õº¹¿¡ ½ÇÆÐÇϴ µ¥ÀÌÅÍ
__7.7 ÀڽŸ¸ÀÇ µ¥ÀÌÅÍ ±¸Á¶ ¸¸µé±â
____7.7.1 ÀڽŸ¸ÀÇ °ÍÀ» ¸¸µå´Â °ÍÀÌ ³ª»Û »ý°¢ÀÏ ¶§
____7.7.2 ÀڽŸ¸ÀÇ °ÍÀ» ¸¸µå´Â °ÍÀÌ ÁÁÀº »ý°¢ÀÏ ¶§
____7.7.3 Çٽɠ¿ä¾à
__7.8 Á¤¸®
 
 
8Àå º¸¾È
__8.1 ¹«ÀÛÀ§¼ºÀÇ Á¾·ù
____8.1.1 ¾ÏÈ£ÇÐÀû ¹«ÀÛÀ§¼ºÀ» À§ÇØ secrets »ç¿ëÇϱâ
____8.1.2 ÀçÇö °¡´ÉÇÑ ¹«ÀÛÀ§ ºÐÆ÷
__8.2 ¡®¾ÈÀüÇÑ¡¯ ¼Ò½º Äڵ忡 ºñ¹Ð¹øÈ£³ª ±âŸ ºñ¹Ð Á¤º¸ ³Ö±â
__8.3 ¡®ÀڽŸ¸ÀÇ¡¯ º¸¾È ±âÁ¦ ¸¸µé±â
__8.4 ¸¶ÀÌÅ©·Î ¼­ºñ½º¿¡ SSL/TLS »ç¿ëÇϱâ
__8.5 Á¦3ÀÚ ¶óÀ̺귯¸® requests »ç¿ëÇϱâ
__8.6 µ¥ÀÌÅͺ£À̽º API¸¦ »ç¿ëÇÏÁö ¾ÊÀ» °æ¿ìÀÇ SQL ÁÖÀÔ °ø°Ý
__8.7 ¾ÈÀüÇϴٴ °¡Á¤À» È®ÀÎÇϱâ À§ÇØ assert »ç¿ëÇÏÁö ¾Ê±â
__8.8 Á¤¸®
 
 
9Àå ÆÄÀ̽㿡¼­ÀÇ ¼öÄ¡ °è»ê
__9.1 IEEE-754 ºÎµ¿ ¼Ò¼öÁ¡ ¼ýÀÚ ÀÌÇØÇϱâ
____9.1.1 NaN(±×¸®°í ´Ù¸¥ ºÎµ¿ ¼Ò¼öÁ¡ ¼ýÀÚ)À» ºñ±³Çϱâ
____9.1.2 NaN°ú statistics.median()
____9.1.3 ºÎµ¿ ¼Ò¼öÁ¡ ¼ýÀÚÀÇ ¼øÁøÇÑ »ç¿ë: °áÇÕ¹ýÄ¢°ú ºÐ¹è¹ýÄ¢
____9.1.4 ºÎµ¿ ¼Ò¼öÁ¡ ¼ýÀÚÀÇ ¼øÁøÇÑ »ç¿ë: ÀÔÀÚ¼º
__9.2 ¼ýÀÚ ÀÚ·áÇü
____9.2.1 ±ÝÀ¶ °è»ê¿¡ ºÎµ¿ ¼Ò¼öÁ¡ ¼ýÀÚ¸¦ »ç¿ëÇÏÁö ¾Ê±â
____9.2.2 ¼öÄ¡ µ¥ÀÌÅÍ ÀÚ·áÇüÀÇ ºñÁ÷°üÀûÀΠµ¿ÀÛ
__9.3 Á¤¸®
 
 
ºÎ·Ï ´Ù¸¥ Ã¥¿¡¼­ ÀÐÀ» ¸¸ÇÑ ÁÖÁ¦
__A.1 Å×½ºÆ® ÁÖµµ °³¹ß
__A.2 µ¿½Ã¼º
__A.3 ÆÐŰ¡
__A.4 ÀÚ·áÇü °Ë»ç
__A.5 ¼öÄ¡ ¹× µ¥ÀÌÅÍÇÁ·¹ÀÓ ¶óÀ̺귯¸®