å‰ è¨€ æ•°å—æ—¶ä»£å·²æ¥ä¸´ï¼Œäººå·¥æ™ºèƒ½æ—¶ä»£çš„大幕也已æå¼€ã€‚人类已处于算力时代,算力是社会的基础生产力。高效地利用算力解决问题已æˆä¸ºè¡¡é‡ç¤¾ä¼šå…ˆè¿›æ€§çš„é‡è¦æŒ‡æ ‡ï¼Œä¹Ÿæ˜¯å‘æŒ¥ä¸ªäººå’Œå›¢é˜Ÿå·¥ä½œèƒ½åŠ›çš„åŸºç¡€ã€‚è‹¥è¦æœ‰æ•ˆåœ°åˆ©ç”¨ç®—力,就必须具备计算æ€ç»´èƒ½åŠ›ã€‚è®¡ç®—æ€ç»´æ˜¯äººç±»ç»§ç†è®ºæ€ç»´ã€å®žéªŒæ€ç»´ä¹‹åŽå…´èµ·çš„ç¬¬ä¸‰ç§æ€ç»´æ–¹å¼ã€‚ 计算æ€ç»´(computational thinking)是周以真(Jeannette Marie Wing)教授于 2006年首次æå‡ºçš„æ¦‚念。计算æ€ç»´æ˜¯è¿ç”¨è®¡ç®—机科å¦çš„基础概念进行问题求解ã€ç³»ç»Ÿè®¾è®¡åŠäººç±»è¡Œä¸ºç†è§£ç‰æ¶µç›–è®¡ç®—æœºç§‘å¦æ–¹æ–¹é¢é¢çš„一系列æ€ç»´æ´»åŠ¨ã€‚è®¡ç®—æ€ç»´æ˜¯ä¸Žå½¢å¼åŒ–问题åŠå…¶è§£å†³æ–¹æ¡ˆç›¸å…³çš„æ€ç»´è¿‡ç¨‹ï¼Œå…¶è§£å†³é—®é¢˜çš„è¡¨çŽ°å½¢å¼åº”该能有效地被信æ¯å¤„ç†ä»£ç†æ‰§è¡Œã€‚计算æ€ç»´å»ºç«‹åœ¨è®¡ç®—过程的能力和é™åˆ¶ä¹‹ä¸Šï¼Œç”±äººä¸Žæœºå™¨æ‰§è¡Œã€‚计算方法和模型使得人们敢于去处ç†é‚£äº›åŽŸæœ¬æ— æ³•ç”±ä»»ä½•ä¸ªäººç‹¬è‡ªå®Œæˆçš„问题求解和系统设计。 编程è¯è¨€çš„è¿ç®—符表示对数æ®è¿›è¡ŒåР工处ç†çš„æ–¹æ³•。通过è¿ç®—符进行è¿ç®—能得到确定结果的问题,都å¯ä»¥é€šè¿‡è®¡ç®—机强大算力的计算得到解决。若è¦åˆ©ç”¨è®¡ç®—机算力解决问题,就è¦ç”¨è®¡ç®—机能ç†è§£çš„ç¬¦å·æˆ–模型把问题æè¿°å‡ºæ¥ã€‚如何æè¿°é—®é¢˜ï¼Ÿéœ€è¦åˆ©ç”¨æˆ‘ä»¬äººç±»å¤§è„‘çš„å¤æ‚æ€ç»´æ´»åŠ¨æ¥æè¿°ï¼Œè¿™ç§æ€ç»´æ´»åŠ¨ç§°ä¸ºè®¡ç®—æ€ç»´ã€‚计算æ€ç»´æ˜¯å»ºç«‹åœ¨ç®—åŠ›åŸºç¡€ä¸Šçš„ä¸€ç§æ€ç»´æ–¹å¼ã€‚在算力基础上解决实际问题是较为普éçš„äº‹æƒ…ï¼Œå› æ¤ï¼Œè®¡ç®—æ€ç»´æ˜¯äººäººéƒ½éœ€è¦å…·å¤‡çš„ä¸€ç§æ€ç»´èƒ½åŠ›ã€‚ 计算æ€ç»´å¯¹å…¶ä»–å¦ç§‘çš„ç ”ç©¶äº§ç”Ÿäº†æ·±åˆ»çš„å½±å“ã€‚ä¾‹å¦‚ï¼Œè®¡ç®—ç”Ÿç‰©å¦æ£åœ¨æ”¹å˜ç€ç”Ÿç‰©å¦å®¶çš„æ€è€ƒæ–¹å¼ï¼›é‡å计算æ£åœ¨æ”¹å˜ç€ç‰©ç†å¦å®¶çš„æ€è€ƒæ–¹å¼ã€‚计算æ€ç»´ä¹Ÿæ¸—é€åˆ°äº†æ™®é€šäººçš„生活之ä¸ï¼ŒæŽŒæ¡è®¡ç®—æ€ç»´å·²ç»æˆä¸ºçŽ°ä»£äººåº”å…·å¤‡çš„åŸºæœ¬æŠ€èƒ½ã€‚è®¡ç®—æ€ç»´æ˜¯å„专业å¦ç”Ÿéƒ½åº”掌æ¡çš„æ€ç»´æ–¹å¼ï¼Œå¯ä»¥å°†å…¶åº”ç”¨äºŽä¸“ä¸šç ”ç©¶å’Œä¸“ä¸šåˆ›æ–°ä¸ã€‚掌æ¡è®¡ç®—æ€ç»´ï¼Œæœ‰åŠ©äºŽäººä»¬æ›´å¥½åœ°ä»Žäº‹åŒ»å¦ã€æ³•律ã€å•†ä¸šã€æ”¿æ²»å·¥ä½œï¼Œä»¥åŠå…¶ä»–任何类型的科å¦å’Œå·¥ç¨‹ï¼Œç”šè‡³è‰ºæœ¯å·¥ä½œã€‚ Pythonè¯è¨€ä»¥å…¶æ˜¾è‘—的优点æˆä¸ºäººä»¬å¹¿æ³›æŽ¥å—的编程è¯è¨€ï¼Œæ˜¯å„行å„业利用计算机解决问题的é‡è¦å·¥å…·ï¼Œæ˜¯ä¸€ç§é€šç”¨çš„现代计算è¯è¨€ã€‚ Pythonè¯è¨€ä»¥å…¶å¼ºå¤§çš„计算生æ€ï¼Œå¾—到了å„ä¸ªé¢†åŸŸçš„å¹¿æ³›åº”ç”¨ï¼Œå‡ ä¹Žå¯ä»¥è¯´å½¢æˆäº†â€œ Python万能工具,全民编程â€çš„æ—¶ä»£ã€‚ Python更是数æ®åˆ†æžå’Œäººå·¥æ™ºèƒ½é¢†åŸŸçš„首选è¯è¨€ï¼Œåˆ©ç”¨ Python进行科å¦è®¡ç®—çš„ç ”ç©¶æœºæž„æ—¥ç›Šå¢žå¤šï¼Œä¸€äº›çŸ¥å大å¦å·²ç»é‡‡ç”¨ Pythonæ¥æ•™æŽˆç¨‹åºè®¾è®¡è¯¾ç¨‹ã€‚例如,哈佛大å¦çš„计算机课程 CS50ã€å¡å†…基梅隆大å¦çš„编程基础ã€éº»çœç†å·¥å¦é™¢çš„计算机科å¦åŠç¼–程导论课程ç‰éƒ½ä½¿ç”¨ Pythonè¯è¨€ã€‚ Python是一个用于解决问题的强大利器。若è¦å¿«é€ŸæŽŒæ¡è¿™ä¸ªåˆ©å™¨ï¼Œå°±éœ€è¦å¿«é€Ÿäº†è§£å…¶æ‰€æœ‰æ€§èƒ½ï¼Œç„¶åŽæ‹©å…¶ä¸ºæˆ‘æ‰€ç”¨ä¹‹å¤„ï¼Œä¿®ç‚¼ç»æŠ€ï¼Œä½¿å…¶å‘æŒ¥æœ€ä½³æ•ˆèƒ½ã€‚本书以全景的方å¼å±•示了 Pythonè¯è¨€çš„知识点,旨在帮助读者快速入门。建议读者采用框架å¼çš„å¦ä¹ 方法,快速地熟悉 Python的数æ®ç±»åž‹ã€è¿ç®—符ã€ç¨‹åºæŽ§åˆ¶ã€è¾“å…¥è¾“å‡ºã€æ¨¡å—导入 5个方é¢çš„知识,在头脑ä¸å»ºç«‹èµ· Pythonè¯è¨€çŸ¥è¯†æ¡†æž¶ä½“系,其他知识点在应用编程ä¸å†é€æ¥æ·±å…¥ã€‚è¿™æ ·å¯ä»¥è¾¾åˆ°å¿«é€ŸæŽŒæ¡ Pythonè¯è¨€å·¥å…·å¹¶å°†å…¶åº”ç”¨äºŽå®žé™…æƒ…å¢ƒçš„ç›®æ ‡ã€‚ 在 Pythonä¸ï¼Œå…ƒç±»å¯¹è±¡åˆ›å»ºç±»å¯¹è±¡ï¼Œç±»å¯¹è±¡åˆ›å»ºå®žä¾‹å¯¹è±¡ï¼Œå®žä¾‹å¯¹è±¡å®žçŽ°å…·ä½“çš„å·¥ä½œã€‚ Pythoné¢å‘对象建模的计算æ€ç»´ä¸Žè‡ªç„¶æ€ç»´æ–¹å¼ä¸€è‡´ï¼Œè¯æ³•也接近自然è¯è¨€ï¼Œç”¨ Pythonè¯è¨€å¯ä»¥å¾ˆå®¹æ˜“地æè¿°çŽ°å®žä¸–ç•Œçš„å¯¹è±¡ã€‚é€šè¿‡ Pythonå¦ä¹ 和掌æ¡è®¡ç®—æ€ç»´æ˜¯æœ€ä½³é€”径。计算æ€ç»´åˆ†ä¸ºé—®é¢˜åˆ†è§£ã€æ¨¡å¼è¯†åˆ«ã€å½’纳抽象和算法设计 4个æ¥éª¤ã€‚本书以人机大战猜拳游æˆé¡¹ç›®å¼€å‘过程为主线,以用到的解决问题的 Pythonç¼–ç¨‹çŸ¥è¯†ç‚¹è¿›è¡Œç« èŠ‚åˆ’åˆ†ï¼Œè¯¦ç»†è®²è§£äº†è§£å†³é—®é¢˜çš„åŠžæ³•ã€‚ç¬¬ 3ç« æ•°æ®ç±»åž‹ä¸è®²è§£äº†ç”¨ Pythonæ•°æ®ç»“æž„æè¿°äººæœºå¤§æˆ˜çŒœæ‹³æ¸¸æˆçš„æ¡ˆä¾‹ï¼›ç¬¬ 4ç« è¿ç®—符ä¸è®²è§£äº†ç”¨è®¡ç®—æ€ç»´è¿‡ç¨‹åˆ†æžäººæœºå¤§æˆ˜çŒœæ‹³æ¸¸æˆå¹¶è®¾è®¡ç®—法的案例;第 5ç« æµç¨‹æŽ§åˆ¶ä¸è®²è§£äº†ç»˜åˆ¶äººæœºå¤§æˆ˜çŒœæ‹³æ¸¸æˆç®—法æµç¨‹å›¾çš„æ¡ˆä¾‹ï¼›ç¬¬ 6ç« ç»„åˆæ•°æ®ç±»åž‹ä¸è®²è§£äº†åˆ©ç”¨åˆ—表ã€å—å…¸ç‰ç»„åˆæ•°æ®ç±»åž‹è®¾è®¡äººæœºå¤§æˆ˜çŒœæ‹³æ¸¸æˆç¨‹åºçš„æ¡ˆä¾‹ï¼›ç¬¬ 7ç« å‡½æ•°ä¸è®²è§£äº†é¢å‘过程设计人机大战猜拳游æˆç¨‹åºçš„æ¡ˆä¾‹ï¼›ç¬¬ 8ç« ç±»ä¸Žå¯¹è±¡ä¸è®²è§£äº†é¢å‘对象设计人机大战猜拳游æˆç¨‹åºçš„æ¡ˆä¾‹ã€‚通过案例完整地演绎 Python计算æ€ç»´è§£å†³é—®é¢˜çš„æ¥éª¤ï¼Œæœ‰åˆ©äºŽè¯»è€…å¿«é€Ÿä¹ å¾—è¿ç”¨è®¡ç®—æ€ç»´åˆ†æžé—®é¢˜å¹¶ç¼–程实现的能力。 è¿ç”¨ Pythonè¯è¨€ç¼–ç¨‹è§£å†³é—®é¢˜ï¼Œç»ˆå½’å±žäºŽè½¯ä»¶å·¥ç¨‹èŒƒç•´ï¼Œå› æ¤ï¼Œåº”该具备工程化的构建软件项目的能力。本书第 14ç« é¦–å…ˆä»‹ç»äº†è½¯ä»¶å·¥ç¨‹æ€ç»´åŠè½¯ä»¶å¼€å‘æµç¨‹ï¼Œè½¯ä»¶å¼€å‘æµç¨‹å¯ä»¥åˆ†ä¸ºéœ€æ±‚分æžã€æ–¹æ¡ˆåˆ¶å®šã€è®¾è®¡æè¿°ã€åˆ¶é€ ç¼–ç¨‹ã€æ£€éªŒéƒ¨ç½² 5ä¸ªé˜¶æ®µï¼›ç„¶åŽæŒ‰ç…§è¿™ 5个阶段讲解爬虫项目开å‘过程,将软件工程æ€ç»´èžå…¥é¡¹ç›®å¼€å‘ä¸ï¼Œæœ‰åˆ©äºŽè¯»è€…快速掌æ¡è½¯ä»¶å·¥ç¨‹æ€ç»´å’Œè½¯ä»¶é¡¹ç›®å¼€å‘方法。 本书特色体现在以下三方é¢ã€‚ (1) 入门å³çŸ¥å…¨è²Œã€‚本书全é¢ä»‹ç»äº† Pythonè¯è¨€çš„知识点,æ¯ä¸ªçŸ¥è¯†ç‚¹å‡æœ‰ç»ƒä¹ 代ç ã€å®žè®æ¡ˆä¾‹ï¼Œæœ‰åˆ©äºŽè¯»è€…快速ã€å…¨é¢åœ°æŽŒæ¡ Pythonè¯è¨€å·¥å…·ã€‚ (2) 入门å³ç”¨å¯¹è±¡ã€‚在 Pythonä¸ï¼Œä¸€åˆ‡çš†å¯¹è±¡ï¼Œé€šè¿‡ Pythonè‘—åçš„ turtle对象绘图库,读者å¯ä»¥ç›´è§‚地å¦ä¹ 和使用 Python对象,然åŽè®¾è®¡å¯¹è±¡ï¼Œä»Žè€Œæœ‰åŠ©äºŽå°† Pythoné¢å‘对象计算æ€ç»´å¿«é€Ÿèžå…¥è‡ªç„¶æ€ç»´ã€‚ (3) 入门å³ä¼šå·¥ç¨‹ã€‚æ¯ä¸ªç¨‹åºå‘˜éƒ½æ˜¯è‰ºæœ¯å®¶ï¼Œç¼–ç¨‹æ—¢æ˜¯åˆ›é€ æ€§çš„æ´»åŠ¨ï¼Œä¹Ÿæ˜¯å·¥ç¨‹æ€§çš„æ´»åŠ¨ï¼Œè½¯ä»¶è´¨é‡å¿…é¡»é 工程化的技术æ¥ä¿éšœã€‚把软件工程æ€ç»´ã€æ–¹æ³•èžå…¥å®žé™…项目开å‘ä¸ï¼Œæœ‰åˆ©äºŽè¯»è€…快速掌æ¡è½¯ä»¶å·¥ç¨‹æ€ç»´å’Œè½¯ä»¶é¡¹ç›®å¼€å‘方法。 本书编著团队包括é‡åº†ç†å·¥å¤§å¦çš„æ±ªæ²»åŽã€æ²³å—科技大å¦çš„å¼ è™Žã€ç„¦ä½œå¤§å¦çš„崔艳ã€é»‘龙江生æ€å·¥ç¨‹èŒä¸šå¦é™¢çš„王艳玲和滨州èŒä¸šå¦é™¢çš„æ¨å¨œå¨œã€‚è¯¥å›¢é˜Ÿå…·æœ‰æ”¿åºœéƒ¨é—¨ç®¡ç†ã€äº§ä¸šå‘展规划ã€ç§‘技创业ä¼ä¸šåµåŒ–ã€ä¼ä¸šç»è¥ã€äº§å“å¼€å‘实战ç»éªŒï¼Œä»¥åŠé«˜ç‰é™¢æ ¡ç§‘ç ”æ•™å¦å®žè·µç»éªŒã€‚本书是编著团队基于多年从事计算机社会æœåŠ¡å’Œé«˜ç‰é™¢æ ¡ Pythonè¯è¨€æ•™å¦å®žè·µçš„ç»éªŒæ€»ç»“,是在深入ç†è§£ Pythonè¯è¨€ç‰¹ç‚¹çš„åŸºç¡€ä¸Šå€¾å¿ƒæ‰“é€ çš„åŠ›ä½œã€‚ 在编写本书的过程ä¸ï¼Œç¼–者å‚考ã€å¼•用和改编了国内外出版物ä¸çš„相关资料åŠç½‘络资æºã€‚åŒæ—¶ï¼Œè¿˜å¾—到了æ¥è‡ªç¤¾ä¼šä¼ä¸šå’Œé«˜ç‰é™¢æ ¡ä¸“å®¶åŒä»çš„å…³å¿ƒã€æŒ‡å¯¼å’Œå¤§åŠ›æ”¯æŒã€‚在æ¤è¡¨ç¤ºè¯šæŒšçš„æ„Ÿè°¢ã€‚ 在编写本书的过程ä¸ï¼Œæˆ‘们虽ç«å°½æ‰€èƒ½åœ°å°†å¥½çš„内容呈现给读者,但书ä¸ä¹Ÿéš¾å…æœ‰ç–æ¼å’Œä¸å¦¥ä¹‹å¤„,敬请读者批评指æ£ã€‚æœåŠ¡é‚®ç®±ï¼š476371891@qq.com。 ç¼– 者 2023å¹´ 12月