> The fear of the LORD is the beginning of knowledge; fools despise wisdom and instruction.(PROVERBS 1:7) >æ¬çè¶å忝ç¥è¯çå¼ç«¯ï¼æå¦äººèè§æºæ §åè®è¯²ã #å ³äºPythonçæ äº æå·²ç»å¨[ãé¶åºç¡å¦Pythonï¼ç¬¬ä¸çï¼ã](https://github.com/qiwsir/ITArticles/blob/master/BasicPython/index.md)ä¸åäºä¸ä¸ªä¸é¨è®²è¿°Pythonæ äºçââ[å å¨ä¸äºå ³äºPythonçäºæ ](https://github.com/qiwsir/ITArticles/blob/master/BasicPython/001.md)ââç« èï¼ä»å¤©ååç±»ä¼¼çæ é¢ï¼ä¸æç®å®å ¨éå¤åæ¥çï¼åªæ¯æé¨å认为éè¦çæè ä¸å¯æç¼ºçä¸è¥¿å¤å¶è¿æ¥ã 忥åäºç¬¬ä¸çï¼ç°å¨åå第äºçï¼æ¾ç¶æ¯å¯¹ç¬¬ä¸ç䏿»¡æã䏿»¡æå¨åªéå¢ï¼ - 第ä¸ççæäºç¥è¯éè¿°è¿ä¸å®åï¼ä¹æä¸ä¸¥è°¨ä¹å¤ï¼å½ç¶ï¼ç¬¬äºçä¹ä¼æï¼ä½è¯å¾ä¿®æ£ - 第äºçè¾ç¬¬ä¸çï¼å¨å 容ä¸è¦è¿è¡å¤§å¹ 度æ©å± æ»ä¹ï¼ç¬¬äºçè¦æä¼äºç¬¬ä¸ççå°æ¹ï¼æä»¥ï¼è¯·è¯»è è¿æ¯é 读æ¤çã ##è¶æ¥è¶ç«çPython å¨åå å¹´(before 2011)ï¼æè·ä¸äºæåä»ç»pythonçæ¶åï¼çå°ç常常æ¯ä¸ç§å¾è¯§å¼çç¼ç¥ï¼é常ä¼å¬å°ï¼ â飿¶ä»ä¹ä¸è¥¿ï¼â âè§£éæ§è¯è¨ä¼ä¸ä¼å¾æ ¢ï¼â âæ²¡å¬è¯´è°ç¨åï¼â âè½åphpï¼javaï¼c#飿 ·ç¨æ¥åç½ç«åï¼â âä»ä¹ï¼ä½ è¯´çæ¯pascalï¼ä½ è¿å¨ç¨è¿ä¸ªèå¤è£ï¼â âå¦ï¼æå¬è¯´è¿ï¼æä¸äºèå¤å¨ç¨ï¼ä¸è¿æä»¬è¿è¿æ²¡æäººç¨å¢ãâ æ¶è¿å¢è¿ï¼ç°å¨å·²ç»æäºå¾å¤§ååã 2014å¹´åï¼æå¼å§åãé¶åºç¡å¦Pythonãç³»åï¼å°±å¾å°äºå¾å¤æåçæ¯æï¼èä¸å¸å¼äºä¸å°å¦ä¹ Pythonçæåï¼ç¹å«æ¯å¨æçé£ä¸ªQQ群éé¢ï¼éä¸äºä¸å°å¦ä¹ è åç±å¥½è ï¼å½ç¶ä¹æé«ææ·±èä¸é²ã è·å¾æåå¸çæå ³Pythonä¿¡æ¯éå¾ï¼ 1. å å ¥QQ群ï¼éé¢å¯ä»¥è·å¾å¤äººäº¤æµãQQ群ï¼Code Craftï¼26913719 2. å ³æ³¨æçæ°æµªå¾®åï¼åç§°æ¯ï¼èé½Pyãå°åï¼http://weibo.com/qiwsir 3. å°github.comä¸ç´æ¥followæï¼åç§°æ¯ï¼qiwsirãå°åï¼https://github.com/qiwsir 4. ç»å¸¸å ³æ³¨æçç½ç«ï¼www.itdiffer.com ç¹å«æ¯2015å¹´ä¸å¼å§ï¼å¨QQ群ï¼26913719ï¼éé¢ï¼å°±ææå说ï¼ä»å¨ä¸æµ·æ¾å·¥ä½ï¼çå°å¥½å¤å ¬å¸é½è¦æPythonå¼åç»éªçã乿æåå§æææ¨èPythonç¨åºåçã 仿èªå·±çç»åä¸ä¹æåå°ï¼ç¨Pythonçé¢åè¶æ¥è¶å¤ï¼æ¾Pythonerçå ¬å¸åæºæä¹è¶æ¥è¶å¤äºã æä»¥ï¼å¦ä¹ Pythonï¼æºå¥½ï¼å æ¬å¥³çï¼ä¹æ¯âæºâ好ï¼ãæ´ä½åµï¼Pythonè¿æ¯éåäºæ´å¤é¢åçè¯è¨ï¼å¦ä¹ è å¯ä»¥æ¶µçä»å°å¦çå°å¤§å¦çï¼åºç¨é¢åæ´æ¯è¦çäºä»webå¼åå°GUIï¼å¨å¤§æ°æ®ãæºå¨å¦ä¹ çè¿äºé¢åï¼æ´æ¯ç¬æ ä¸å¸ãæ¨èé 读[ãå¤§æ°æ®å ¨æ å¼å¼åè¯è¨ â Pythonã](http://insights.thoughtworkers.org/full-stack-python/)ã æä»¥ï¼å¦ä¹ Pythonæ§ä»·æ¯æé«ï¼åç®ã 使¯ï¼æä¸ä¸ªå¨ææ¥ç䏿¯é®é¢ï¼ä½æ¯å¨å¾å¤åå¦è æ¥çï¼æ¯ä¸ä¸ªå¤©å¤§é®é¢ï¼æ¯å¦ä¹ Python 2è¿æ¯å¦ä¹ Python 3ï¼ ##Pythonççæ¬ ä¸ç®¡åºäºä»ä¹åå ï¼æè®¤ä¸ºPythonç»èªå·±æäºä¸¤ä¸ªçæ¬ï¼æ¯è´¥ç¬ã è½ç¶å¦æ¤ï¼ä½å¹¸äºä¸¤ä¸ªçæ¬å¹¶é天壤ä¹å«ï¼ç»å¤§é¨åæ¯ä¸æ ·çãæä»¥ï¼å¦ä¹ è å¯ä»¥éæ©ä»»ä½ä¸ç§çæ¬è¿è¡å¦ä¹ ï¼ç¶åå¨å ·ä½åºç¨çæ¶åï¼ç¨å°ä»ä¹çæ¬ï¼åªè¦ç¨å 注æï¼æè å°ç½ä¸æç´¢ä¸ä¸ï¼å³å¯ã æå¨è¿éè¿æ´çäºä¸ç¯æç« ï¼[Python2.7.xå3.xçæ¬çéè¦åºå«](https://github.com/qiwsir/StarterLearningPython/blob/master/n005.md)ï¼ä¸ç¥æ¯å¦æ¿æé è¯»ï¼ ä½æ¯ï¼æ»æä¸æ¾å¿çåå¦è ã ææ¾è¢«æ æ°æ¬¡çæ·é®ï¼æç¨æ¯Python 2è¿æ¯Python 3ï¼ æé常æ³åè¯ä»ä»ä¹é½æ¯æï¼ä½æ¯ï¼æç代ç çç¡®æ¯å¨Python 2ä¸è°è¯çï¼æ»ä¸è½æè°å§ãäºæ¯å½æå¦å®å¥åçæ¶åï¼ä»ä¼è¯´è¦å¦ä¹ Python 3ï¼è½¬å¤´æ¾é£äºå·ç§°æ¯Python 3çæç¨ã æ å¥ã 为äºè¿åå¦ä¹ è èå£ï¼æçæç¨ï¼**ä»å³æ¥èµ·ï¼éæ¸ä¿®æ¹ä»£ç ï¼éåäºPython 3**ã 仿¤ï¼æ¬æç¨å®£ç§°ï¼**æ¯æPython 2åPython 3**ãå¦éå°ä¸ç¬¦åæ¤å®£ç§°çå°æ¹ï¼æ¯å ä¸ºè¿æ²¡æä¿®æ¹å°é£éå¢ã è¿è¦è¯´ä¸å¥ï¼ä¸è¿°å®£ç§°çæç»è§£éæå½æ¬æç¨ä½è ã ä¸ç®¡æ¯2è¿æ¯3ï¼æ»è¦ä»é¶å¼å§å¦ä¹ ï¼ä»é¶å¼å§å¦ï¼å°±æå³çä¸éè¦åºç¡ãè¿ä¸ªææä¿¡å¿ã ##éè¦ä»ä¹åºç¡å è¿æ¯å¾å¤åå¦è é½ä¼é®çä¸ä¸ªé®é¢ãè¯ç¶ï¼å¨è®¡ç®æºæ¹é¢çåºç¡è¶å¥½ï¼å¯¹å¦ä¹ ä»»ä½ä¸é¨æ°çç¼ç¨è¯è¨ï¼é½æ¯æ´æå©çã妿ï¼ä½ å¨ç¼ç¨è¯è¨çå¦ä¹ ä¸å±äºé¶åºç¡ï¼ä¹ä¸ç¨æ å¿ï¼ä¸ç®¡ç¨åªé¨è¯è¨ä½ä¸ºå¦ä¹ ç¼ç¨çå ¥é¨è¯è¨ï¼æ»è¦æä¸ä¸ªå¼å§å§ã å°±æä¸ªäººæ¥çï¼Pythonæ¯æ¯è¾éåä½ä¸ºå¦ä¹ ç¼ç¨çå ¥é¨è¯è¨çï¼ä½ä¸ºå¦ä¹ ç¼ç¨çå ¥é¨è¯è¨ï¼æç°å¨æä¸çè§£çæ¯ç¨Cï¼å 为å¾å¤æ¾ç»ç«å¿å¦ä¹ ç¼ç¨ç人å¦äºCè¯è¨ä¹åï¼æç¥éèªå·±ä¸éåç¼ç¨ãé¾éæ¯ç¨Cæ¥çéè¿ä¸ªè¡ä¸çä»ä¸è åï¼ï¼ãæ»ä¹ï¼ä¸ç¨æ å¿èªå·±çæè°åºç¡é®é¢ã çæè¿ä¸ªæç¨çæ é¢ï¼å°±æ¯å¼ºè°âé¶åºç¡âçã ä¸ä» æè¿ä¹è®¤ä¸ºï¼ç¾å½æä¸å°é«æ ¡ä¹è¿ä¹è®¤ä¸ºï¼çº·çº·ç¨Pythonä½ä¸ºç¼ç¨ä¸ä¸çè³æ¯éç¼ç¨ä¸ä¸ç大å¦çå ¥é¨è¯è¨ã æåçç»è®ºæ¯ï¼å¦ä¹ pythonï¼ä½ ä¸ç¨æ å¿åºç¡é®é¢ã **ç¹å«æ¯çæçæç¨ï¼æçç®æ å°±æ¯è¦è·ä½ ä¸èµ·ä»é¶åºç¡å¼å§ï¼ç´å°é«æå¢ç**ã æä»¥ï¼å°½ç®¡æ¾èæ¥å¦ï¼ä¸ç¨ç¹è±«ãä¸è¦æ§æãè¿æä¸ä¸ªåå ï¼æ¯å 为她ä¼é ã ##ä¼é çPython Pythonå·ç§°æ¯ä¼é çã使¯è¿ç§è¯´æ³ä»è è§ä»æºè è§æºãæ¯å¦ç»å¸¸å¬å°å¤§å¸ä»¬è¯´âæ°å¦ç¾âï¼æ¯ä¸æ¯è°é½è½ä½éªå°å¢ï¼ä¸è§å¾å§ã æä»¥ï¼æ¯ä¸æ¯ä¼é ï¼æ¯ä¸æ¯ç®åï¼æ¯ä¸æ¯æç¡®ï¼åªæâè°ç¨è°ç¥éâï¼åªæå è¡äººæè½çè§£ã ä¸è¿ï¼æç¹å«å欢ä¸é¢è¿å¥è¯ï¼**人çè¦çï¼æç¨Python**ãææå°±æ¯è¯´ï¼Pythonè½å¤æé«å¼åæçï¼è®©ä½ çæç人çè½å¤é¤äºå·¥ä½ä¹å¤ï¼è¿ææ´å¤çæ¶é´ä¼æ¯ã危乿è å«çä»ä¹ã æè®¸æç人ä¸ç¸ä¿¡ï¼é£å°±æ¯è¾ä¸ä¸å§ã ##è·å«çè¯è¨æ¯è¾ âå¦æä½ éå°çé®é¢æ æ³ç¨Pythonè§£å³ï¼è¿ä¸ªé®é¢ä¹ä¸è½ç¨å«çè¯è¨è§£å³ãâââè¿æ¯æåä¸äºå¾å¾å¨Pythonä¹å¤ç人常说çï¼æ¯ä¸æ¯æç¹å¤¸å¼ äºå¢ï¼ æè¿çå°äºä¸ç¯æç« ï¼[ã妿ç¼ç¨è¯è¨æ¯å¥³äººã](http://www.vaikan.com/if-programming-languages-are-woman/)ï¼æè½¬è½½å¦ä¸(èèå°ç¯å¹ æéï¼æäºéå½å æ¹ï¼è¦é 读éå åçï¼è¯·éè¿è¿æ¥æ¥çåæ)ï¼  >PHPæ¯ä½ çè±è»å¹´åçå¿ä¸äººï¼å¥¹æ¯æ 窦åå¼çä½ ä»å¹´å¤å¤©å»ä¹ä¹ç追æ±çç®æ ãç©ä¸ç©å¯ä»¥ï¼ä½åä¸ä¸è¦æå ¥è¿æ·±ï¼å 为è¿ä¸ªå¥³å©æä¸¥éçé®é¢ã >Rubyæ¯èæ¬å®¶æä¸ä¸ä¸ªé常æ¼äº®çå©åã第ä¸ç¼ç她ï¼ä½ çå¿éå°±ä¼è¢«å¥¹çç¾ä¸½æèµ°ã她è¿å¾ææè¶£ãèµ·å她çèµ·æ¥æç¹æ ¢ï¼ä¸æä¹ç¨³å®ï¼ä½è¿äºå¹´æ¥å¥¹å·²ç»æçäºå¾å¤ã >Python æ¯Rubyçä¸ä¸ªæ´æäºçå§å§ã她ä¼é ï¼æ°æ½®ï¼æçã她ä¹è®¸å¤ªè¿ä¼ç§ãå¾å¤å°ä¼é½ä¼è¯´âå¿ï¼å å¼ï¼ä½ æä¹å¯è½ä¸ç±ä¸Pythonå¢ï¼ï¼âãæ²¡éï¼ä½ 忬¢Pythonãä½ æå¥¹å½æäºä¸ä¸ªè¾æ°å浪漫é½éç§äºçRubyã >Javaæ¯ä¸ä¸ªäºä¸æåç女人ãå¾å¤å¨å¥¹æä¸å¹²è¿çäººé½æè§å¥¹çè½åè·å¥¹çå°ä½å¹¶ä¸è¬é ï¼å¥¹æ´å¤çæ¯éè¿æå·§æå¨äºä¸å±ç®¡ç人åãä½ ä¹è®¸ä¼è®¤ä¸ºå¥¹æ¯å¾ææºæ §ç人ï¼ä½ æ¿æè·é她ãä½ä½ è¦åå¤å¥½å¨æ°å¹´é䏿çå¬å°âä½ ç¨éäºæ¥å£ï¼ä½ éæ¼äºä¸ä¸ªåå·âè¿æ ·çè´£å¤ã >C++ æ¯Javaç表å§ã她å¨å¾å¤å°æ¹è·Java类似ï¼ä¸åçæ¯å¥¹æé¿äºä¸ä¸ªå¤©çç年代ï¼ä¸è®¤ä¸ºéè¦ä½¿ç¨âä¿æ¤æªæ½âãå½ç¶ï¼âä¿æ¤æªæ½âæ¯æèªå¨å å管çãä½ ä»¥ä¸ºææçæ¯ä»ä¹ï¼ >C æ¯C++çå¦å¦ã对ä¸äºå¤´åè±ç½çèç¨åºå说起è¿ä¸ªåç§°ï¼ä¼è®©ä»ä»¬ç¼çä¸äº®ï¼äº§çæ éåå¿ã >Objective C Cè¯è¨å®¶æçå¦å¤ä¸ä¸ªæåã她å å ¥äºä¸ä¸ªå¥æªçæä¼ï¼ä¸æ¿æå任使ä¼ä¹å¤ç人约ä¼ã è½ç¶æ¯å¨±ä¹ï¼æè®¸æäºè®®ï¼æå½åèå§ã æä»¥ï¼Pythonå¼å¾æ¥æã 卿£å¼å¼å§å¦ä¹ ä¹åï¼é¦å è¦åè¯ä½ æä¸ºPython髿çç§è¯ã ##The Zen of Python è¿å°±æ¯èåçãPythonä¹ç¦ ãã >Beautiful is better than ugly. >Explicit is better than implicit. >Simple is better than complex. >Complex is better than complicated. >Flat is better than nested. >Sparse is better than dense. >Readability counts. >Special cases aren't special enough to break the rules. >Although practicality beats purity. >Errors should never pass silently. >Unless explicitly silenced. >In the face of ambiguity, refuse the temptation to guess. >There should be one-- and preferably only one --obvious way to do it. >Although that way may not be obvious at first unless you're Dutch. >Now is better than never. >Although never is often better than *right* now. >If the implementation is hard to explain, it's a bad idea. >If the implementation is easy to explain, it may be a good idea. >Namespaces are one honking great idea -- let's do more of those! âåæ°´ä¸å¿æäºäººâï¼è°åé äºPythonï¼æä»¬ä¸å®è¦ææ©å¹¶å´æã ##æè°¢Guido van Rossum Guido van Rossum æ¯å¼å¾ææpythoneræè°¢åå°éçï¼å 为ä»åæäºè¿ä¸ªä¼é çç¼ç¨è¯è¨ãä»åæpythonçè¿ç¨æ¯é£ä¹è®©äººç§°èµåæå¹ï¼æ¾ç¤ºåºç人çé£éã >1989å¹´çå£è¯èæé´ï¼åå¤Â·èç½èå§ä¸ºäºå¨é¿å§æ¯ç¹ä¸¹æåæ¶é´ï¼å³å¿å¼åä¸ä¸ªæ°çèæ¬è§£éç¨åºï¼ä½ä¸ºABCè¯è¨çä¸ç§ç»§æ¿ã乿以éä¸Pythonä½ä¸ºç¨åºçååï¼æ¯å ä¸ºä»æ¯ä¸ä¸ªèæÂ·æ´¾æ£®çé£è¡é©¬æå¢çç±å¥½è ãABCæ¯ç±åå¤åå 设计çä¸ç§æå¦è¯è¨ãå°±å夿¬äººçæ¥ï¼ABCè¿ç§è¯è¨é常ä¼ç¾åå¼ºå¤§ï¼æ¯ä¸é¨ä¸ºéä¸ä¸ç¨åºå设计çã使¯ABCè¯è¨å¹¶æ²¡ææåï¼ç©¶å ¶åå ï¼åå¤è®¤ä¸ºæ¯é弿¾é æçãåå¤å³å¿å¨Pythonä¸é¿å è¿ä¸é误ï¼å¹¶åå¾äºéå¸¸å¥½çææï¼å®ç¾ç»åäºCåå ¶ä»ä¸äºè¯è¨ã è¿æ®µæ äºçè±æåè½½å¨ï¼[https://www.python.org/doc/essays/foreword/](https://www.python.org/doc/essays/foreword/) Pythonå·²ç»è®©äººå¿å¨äºãé¤äºå¿å¨ï¼è¿è¦è¡å¨ï¼åªæè¡å¨ï¼æè½âä»å°å·¥å°ä¸å®¶âã ------- [æ»ç®å½](./index.md) | [ä¸èï¼ä»å°å·¥å°ä¸å®¶](./02.md)