AI輔助編程Python實戰(zhàn)基于GitHub Copilot和ChatGPT
定 價:89.8 元
當前圖書已被 2 所學校薦購過!
查看明細
- 作者:[美] 利奧·波特(Leo Porter)[加] 丹尼爾·津加羅(Danie
- 出版時間:2025/3/1
- ISBN:9787115659262
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312.8
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書系統(tǒng)地介紹了如何利用AI助手Copilot和ChatGPT來提升Python編程的效率和質(zhì)量。本書從AI助手的基礎概念講起,逐步深入到代碼組織、閱讀、測試、提示工程等關鍵技能,并引導讀者通過實踐掌握如何拆解復雜問題、查找和修復bug、自動化任務處理及開發(fā)計算機游戲。本書不僅提供了豐富的實例和練習,還探討了AI助手的潛力和局限,以及未來的發(fā)展趨勢,是希望在編程領域融入AI技術的讀者的理想選擇。
本書適合對編程感興趣,希望借助AI技術提升編程能力的初學者和中級程序員閱讀。
全面介紹AI輔助編程:從基礎原理到實際應用,深入講解Copilot等AI工具如何助力編程學習與開發(fā)。
實用操作指南:詳細指導如何在VS Code中快速上手Copilot,包括系統(tǒng)設置、配置驗證及常見問題解決。
結(jié)合AI設計函數(shù):通過大量示例,展示如何與Copilot協(xié)作設計高效、優(yōu)秀的函數(shù),提升編程效率。
深度解讀Python代碼:系統(tǒng)講解Python編程特性,借助Copilot理解代碼邏輯,夯實編程基礎。
測試與提示工程:深入講解代碼測試方法,結(jié)合Copilot優(yōu)化測試流程,提升代碼質(zhì)量。
問題分解與自頂向下設計:通過案例分析,教授如何將復雜問題分解為子問題并采用自頂向下設計,培養(yǎng)編程思維。
調(diào)試技巧與代碼理解:提供多種調(diào)試方法,借助AI工具修復bug,同時深入理解代碼運行邏輯。
自動化與游戲開發(fā):利用Copilot編寫實用工具,開發(fā)小游戲,拓展編程應用場景。
展望未來趨勢:探討AI編程的未來發(fā)展方向,包括提示模式創(chuàng)新及Copilot的局限與潛力。
案例豐富,實踐性強:全書貫穿大量實戰(zhàn)案例,幫助讀者快速掌握AI輔助編程技能,適配實際開發(fā)需求。
Leo Porter博士是加州大學圣地亞哥分校計算機科學與工程系的教學教授。他因研究計算機課程中“同伴指導”的效果、利用點答器數(shù)據(jù)預測學生成績,以及設計基本數(shù)據(jù)結(jié)構(gòu)的概念清單而聞名。他與人合教了廣受好評的Coursera專項課程“面向?qū)ο蟮腏ava編程:數(shù)據(jù)結(jié)構(gòu)及其超越”,吸引了超過30萬名學員注冊學習;同時,他還在edX MicroMasters平臺上開設了數(shù)據(jù)科學專業(yè)的第一門課程“Python for Data Science”,吸引了超過20萬名學員注冊學習。他曾獲得6項最佳論文獎、SIGCSE 50周年紀念十大研討會論文獎、沃倫學院杰出教學獎及加州大學圣地亞哥分校學術參議院杰出教學獎。他是ACM的杰出會員,并且曾在ACMSIGCSE董事會任職。
Daniel Zingaro博士是多倫多大學的副教授。在過去的15年中,他向數(shù)千名學生講授了Python編程入門課程,并編寫了目前這門課程使用的教科書。他還撰寫了數(shù)十篇關于如何教授和學習計算機科學入門課程的教育研究文章。Daniel與No Starch Press合作創(chuàng)作了兩本書——上述的Python教科書和一本關于算法的圖書——這兩本書均被翻譯成多種語言。Daniel獲得了多個著名的教學和研究獎項,包括一個50年時間考驗獎和多個最佳論文獎。
第 1章 走近AI輔助編程 1
1.1 我們?nèi)绾闻c計算機對話 1
1.1.1 讓難度降低一點兒 2
1.1.2 讓難度降低一大截 3
1.2 本書涉及的技術 3
1.2.1 Copilot,你的AI助手 4
1.2.2 一分鐘搞懂Copilot的背后原理 4
1.3 Copilot如何改變我們學習編程的方式 5
1.4 Copilot還可以做什么 7
1.5 使用Copilot的風險和挑戰(zhàn) 8
1.6 我們所需的技能 9
1.7 大眾對于AI助手的擔憂 10
本章小結(jié) 11
第 2章 快速上手Copilot 12
2.1 為接下來的學習做好準備工作 12
2.2 設置系統(tǒng) 14
2.3 在VS Code中使用Copilot 15
2.3.1 配置工作目錄 15
2.3.2 驗證配置是否運行正常 16
2.4 應對常見的Copilot難題 19
2.5 我們的第 一個編程練習 20
本章小結(jié) 30
第3章 設計函數(shù) 31
3.1 初識函數(shù) 32
3.1.1 函數(shù)的組成部分 33
3.1.2 使用函數(shù) 35
3.2 函數(shù)的益處 36
3.3 函數(shù)的角色 37
3.4 交給函數(shù)的合理任務應該是什么樣的 40
3.4.1 優(yōu)秀函數(shù)的特征 40
3.4.2 一些正面示例和反面示例 41
3.5 與Copilot協(xié)作設計函數(shù)的流程 42
3.6 借助Copilot創(chuàng)建優(yōu)秀函數(shù)的幾個示例 43
3.6.1 Dan的股票收益 43
3.6.2 小李子的密碼 47
3.6.3 獲得一個強密碼 51
3.6.4 拼詞游戲的計分規(guī)則 52
3.6.5 最佳單詞 55
本章小結(jié) 56
第4章 理解Python代碼(上) 58
4.1 為什么需要閱讀代碼 58
4.2 要求Copilot解釋代碼 60
4.3 必知必會的十大編程特性(第 一部分) 64
4.3.1 #1函數(shù) 65
4.3.2 #2變量 65
4.3.3 #3條件判斷 67
4.3.4 #4字符串 70
4.3.5 #5列表 72
4.3.6 小結(jié) 74
本章小結(jié) 75
第5章 理解Python代碼(下) 76
5.1 必知必會的十大編程特性(第二部分) 76
5.1.1 #6循環(huán) 76
5.1.2 #7縮進 81
5.1.3 #8字典 88
5.1.4 #9文件 89
5.1.5 #10模塊 92
本章小結(jié) 95
第6章 測試與提示工程 96
6.1 為什么測試代碼至關重要 96
6.2 黑盒測試與白盒測試 97
6.2.1 黑盒測試 97
6.2.2 如何確定使用哪些測試用例 99
6.2.3 白盒測試 100
6.3 如何測試代碼 101
6.3.1 使用Python提示符進行測試 101
6.3.2 在Python文件中進行測試(我們不會采用這種方法) 102
6.3.3 doctest模塊 102
6.4 重新審視與Copilot協(xié)作設計函數(shù)的流程 105
6.5 完整測試的示例 106
6.5.1 算出空位最多的那一排能容納多少位新學生 106
6.5.2 改進提示詞以尋求更好的解決方案 109
6.5.3 測試新版解決方案 111
6.6 另一個完整測試的示例:使用外部文件進行測試 113
6.6.1 我們應該執(zhí)行哪些測試 114
6.6.2 創(chuàng)建函數(shù) 116
6.6.3 測試函數(shù) 117
6.6.4 與doctest相關的常見難題 118
本章小結(jié) 120
第7章 問題分解 121
7.1 問題分解簡介 121
7.2 自頂向下設計的小示例 122
7.3 作者特征識別 123
7.4 采用自頂向下設計實現(xiàn)作者特征識別 125
7.5 將加工數(shù)據(jù)環(huán)節(jié)分解為子問題 126
7.5.1 計算出神秘圖書的簽名 126
7.5.2 計算出所有已知簽名 131
7.5.3 尋找最接近的已知簽名 132
7.6 自頂向下設計總結(jié) 134
7.7 實現(xiàn)所有函數(shù) 134
7.7.1 實現(xiàn)clean_word函數(shù) 135
7.7.2 實現(xiàn)average_word_length函數(shù) 136
7.7.3 實現(xiàn)different_to_total函數(shù) 137
7.7.4 實現(xiàn)exactly_once_to_total函數(shù) 138
7.7.5 實現(xiàn)split_string函數(shù) 140
7.7.6 實現(xiàn)get_sentences函數(shù) 142
7.7.7 實現(xiàn)average_sentence_length函數(shù) 142
7.7.8 實現(xiàn)get_phrases函數(shù) 143
7.7.9 實現(xiàn)average_sentence_complexity函數(shù) 144
7.7.10 實現(xiàn)make_signature函數(shù) 145
7.7.11 實現(xiàn)get_all_signatures函數(shù) 145
7.7.12 實現(xiàn)get_score函數(shù) 148
7.7.13 實現(xiàn)lowest_score函數(shù) 149
7.7.14 實現(xiàn)process_data函數(shù) 150
7.7.15 實現(xiàn)make_guess函數(shù) 151
7.8 進一步探討 152
本章小結(jié) 153
第8章 調(diào)試代碼并且更深入地理解代碼 154
8.1 bug是如何產(chǎn)生的 154
8.2 如何找出bug 155
8.2.1 使用打印語句了解代碼行為 156
8.2.2 使用VS Code的調(diào)試器了解代碼行為 158
8.3 發(fā)現(xiàn)bug后如何修復 164
8.3.1 要求Copilot Chat修復bug 165
8.3.2 為整個函數(shù)給出新的提示詞 166
8.3.3 基于函數(shù)的部分代碼給出針對性的提示詞 166
8.3.4 自己動手修改代碼來修復bug 167
8.4 根據(jù)新技能調(diào)整工作流程 168
8.5 將調(diào)試技巧應用于新的挑戰(zhàn) 169
8.6 利用調(diào)試器來更深入地理解代碼 175
8.7 調(diào)試注意事項 175
本章小結(jié) 175
第9章 煩瑣事務自動化 176
9.1 程序員為何制作工具 177
9.2 如何使用Copilot編寫工具 177
9.3 示例一:清理電子郵件內(nèi)容 178
9.3.1 與Copilot對話 178
9.3.2 編寫電子郵件清理工具 183
9.4 示例二:為PDF文件添加封面 186
9.4.1 與Copilot對話 187
9.4.2 編寫工具 191
9.5 示例三:合并手機圖片庫 199
9.5.1 與Copilot對話 200
9.5.2 自頂向下設計 203
9.5.3 編寫工具 204
本章小結(jié) 207
第 10章 開發(fā)小游戲 208
10.1 游戲設計入門 208
10.2 加入隨機性 209
10.3 示例一:“數(shù)字猜猜樂” 212
10.3.1 游戲玩法介紹 212
10.3.2 自頂向下設計 213
10.3.3 參數(shù)與返回值類型 216
10.3.4 實現(xiàn)這些函數(shù) 217
10.3.5 為“數(shù)字猜猜樂”游戲添加圖形界面 223
10.4 示例二:“餓死膽小鬼” 224
10.4.1 游戲玩法介紹 225
10.4.2 自頂向下設計 227
10.4.3 實現(xiàn)這些函數(shù) 230
10.4.4 自定義游戲 235
本章小結(jié) 238
第 11章 展望未來 239
11.1 提示模式 239
11.1.1 反轉(zhuǎn)互動模式 240
11.1.2 角色扮演模式 243
11.2 當前局限與未來趨勢 246
11.2.1 Copilot(當前)難以處理的難題 246
11.2.2 能否將Copilot 視為一種全新的編程語言 247
本章小結(jié) 250
參考文獻 251