¸üÐÂʱ¼ä:2017Äê12ÔÂ21ÈÕ15ʱ35·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:
PythonÊÇÒ»ÃÅÓÅÐãµÄÓïÑÔ£¬ËüÄÜÈÃÄãÔÚ¶Ìʱ¼äÄÚͨ¹ý¼«ÉÙÁ¿´úÂë¾ÍÄÜÍê³ÉÐí¶à²Ù×÷¡£²»½öÈç´Ë£¬Ëü»¹ÇáËÉÖ§³Ö¶àÈÎÎñ´¦Àí£¬±ÈÈç¶à½ø³Ì¡£
²»Ï²»¶PythonµÄÈ˾³£»áÍÂàÐPythonÔËÐÐÌ«Âý¡£µ«ÊÇ£¬ÊÂʵ²¢·ÇÈç´Ë
×÷Ϊ³ÌÐòÔ³¾ÍÊÇÏ£ÍûÈçºÎÓÅ»¯´úÂ룬¾«¼ò´úÂë¡£½ñÌìÀÖÓã²¥¿Íר¼Ò¾ÍΪ´ó¼Ò¾«Ñ¡6Ìõpython´úÂëÓÅ»¯½¨Òé¡£

ÒòΪGILµÄ´æÔÚ£¬PythonºÜÄѳä·ÖÀûÓöàºËCPUµÄÓÅÊÆ¡£µ«ÊÇ£¬¿ÉÒÔͨ¹ýÄÚÖõÄÄ£¿émultiprocessingʵÏÖÏÂÃæ¼¸ÖÖ²¢ÐÐģʽ£º
1¡¢ ¶à½ø³Ì²¢Ðбà³Ì£º¶ÔÓÚCPUÃܼ¯Ð͵ijÌÐò£¬¿ÉÒÔʹÓÃmultiprocessingµÄProcess,PoolµÈ·â×°ºÃµÄÀ࣬ͨ¹ý¶à½ø³ÌµÄ·½Ê½ÊµÏÖ²¢ÐмÆËã¡£µ«ÊÇÒòΪ½ø³ÌÖеÄͨÐųɱ¾±È½Ï´ó£¬¶ÔÓÚ½ø³ÌÖ®¼äÐèÒª´óÁ¿Êý¾Ý½»»¥µÄ³ÌÐòЧÂÊδ±ØÓдóµÄÌá¸ß¡£
2¡¢ ¶àÏ̲߳¢Ðбà³Ì£º¶ÔÓÚIOÃܼ¯Ð͵ijÌÐò£¬multiprocessing.dummyÄ£¿éʹÓÃmultiprocessingµÄ½Ó¿Ú·â×°threading£¬Ê¹µÃ¶àÏ̱߳à³ÌÒ²±äµÃ·Ç³£ÇáËÉ(±ÈÈç¿ÉÒÔʹÓÃPoolµÄmap½Ó¿Ú£¬¼ò½à¸ßЧ)¡£ ·Ö²¼Ê½£ºmultiprocessingÖеÄManagersÀàÌṩÁË¿ÉÒÔÔÚ²»Í¬½ø³ÌÖ®¹²ÏíÊý¾ÝµÄ·½Ê½£¬¿ÉÒÔÔÚ´Ë»ù´¡ÉÏ¿ª·¢³ö·Ö²¼Ê½µÄ³ÌÐò¡£ ²»Í¬µÄÒµÎñ³¡¾°¿ÉÒÔÑ¡ÔñÆäÖеÄÒ»ÖÖ»ò¼¸ÖÖµÄ×éºÏʵÏÖ³ÌÐòÐÔÄܵÄÓÅ»¯¡£
3¡¢ ÓÅ»¯Ë㷨ʱ¼ä
Ëã·¨µÄʱ¼ä¸´ÔӶȶԳÌÐòµÄÖ´ÐÐЧÂÊÓ°Ïì×î´ó£¬ÔÚPythonÖпÉÒÔͨ¹ýÑ¡ÔñºÏÊʵÄÊý¾Ý½á¹¹À´ÓÅ»¯Ê±¼ä¸´ÔÓ¶È£¬ÈçlistºÍset²éÕÒijһ¸öÔªËØµÄʱ¼ä¸´ÔÓ¶È·Ö±ðÊÇO(n)ºÍO(1)¡£²»Í¬µÄ³¡¾°Óв»Í¬µÄÓÅ»¯·½Ê½£¬×ܵÃÀ´Ëµ£¬Ò»°ãÓзÖÖΣ¬·ÖÖ§½çÏÞ£¬Ì°ÐÄ£¬¶¯Ì¬¹æ»®µÈ˼Ïë¡£
ÀýÈ磺setµÄÓ÷¨
setµÄunion£¬intersection£¬difference²Ù×÷Òª±ÈlistµÄµü´úÒª¿ì¡£Òò´ËÈç¹ûÉæ¼°µ½Çólist½»¼¯£¬²¢¼¯»òÕß²îµÄÎÊÌâ¿ÉÒÔת»»ÎªsetÀ´²Ù×÷¡£
4¡¢ Õë¶ÔÑ»·µÄÓÅ»¯
ÿÖÖ±à³ÌÓïÑÔ¶¼»áÇ¿µ÷ÐèÒªÓÅ»¯Ñ»·¡£µ±Ê¹ÓÃPythonµÄʱºò£¬Äã¿ÉÒÔÒÀ¿¿´óÁ¿µÄ¼¼ÇÉʹµÃÑ»·ÔËÐеøü¿ì¡£È»¶ø£¬¿ª·¢Õß¾³£Â©µôµÄÒ»¸ö·½·¨ÊÇ£º±ÜÃâÔÚÒ»¸öÑ»·ÖÐʹÓõã²Ù×÷¡£ÀýÈ磬¿¼ÂÇÏÂÃæµÄ´úÂ룺
ÿһ´ÎÄãµ÷Ó÷½·¨str.upper£¬Python¶¼»áÇó¸Ã·½·¨µÄÖµ¡£È»¶ø£¬Èç¹ûÄãÓÃÒ»¸ö±äÁ¿´úÌæÇóµÃµÄÖµ£¬Öµ¾Í±ä³ÉÁËÒÑÖªµÄ£¬Python¾Í¿ÉÒÔ¸ü¿ìµØÖ´ÐÐÈÎÎñ¡£ÓÅ»¯Ñ»·µÄ¹Ø¼ü£¬ÊÇÒª¼õÉÙPythonÔÚÑ»·ÄÚ²¿Ö´ÐеŤ×÷Á¿£¬ÒòΪPythonÔÉúµÄ½âÊÍÆ÷ÔÚÄÇÖÖÇé¿öÏ£¬ÕæµÄ»á¼õ»ºÖ´ÐеÄËÙ¶È¡£

5¡¢ º¯ÊýÑ¡Ôñ
ÔÚÑ»·µÄʱºòʹÓÃxrange¶ø²»ÊÇrange;ʹÓÃxrange¿ÉÒÔ½ÚÊ¡´óÁ¿µÄϵͳÄڴ棬ÒòΪxrange()ÔÚÐòÁÐÖÐÿ´Îµ÷ÓÃÖ»²úÉúÒ»¸öÕûÊýÔªËØ¡£¶ørange()Œ¢Ö±½Ó·µ»ØÍêÕûµÄÔªËØÁÐ±í£¬ÓÃÓÚÑ»·Ê±»áÓв»±ØÒªµÄ¿ªÏú¡£ÔÚpython3ÖÐxrange²»ÔÙ´æÔÚ£¬ÀïÃærangeÌṩһ¸ö¿ÉÒÔ±éÀúÈÎÒⳤ¶ÈµÄ·¶Î§µÄiterator¡£
6¡¢ ʹÓÃÐÔÄÜ·ÖÎö¹¤¾ß
³ýÁËÉÏÃæÔÚipythonʹÓõ½µÄtimeitÄ£¿é£¬»¹ÓÐcProfile¡£cProfileµÄʹÓ÷½Ê½Ò²·Ç³£¼òµ¥£ºpython –m cProfile filename.py£¬filename.pyÊÇÒªÔËÐгÌÐòµÄÎļþÃû£¬¿ÉÒÔÔÚ±ê×¼Êä³öÖп´µ½Ã¿Ò»¸öº¯Êý±»µ÷ÓõĴÎÊýºÍÔËÐеÄʱ¼ä£¬´Ó¶øÕÒµ½³ÌÐòµÄÐÔÄÜÆ¿¾±£¬È»ºó¿ÉÒÔÓÐÕë¶ÔÐÔµØÓÅ»¯¡£
±±¾©Ð£Çø