注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计AI辅助编程Python实战:基于GitHub Copilot和ChatGPT

AI辅助编程Python实战:基于GitHub Copilot和ChatGPT

AI辅助编程Python实战:基于GitHub Copilot和ChatGPT

定 价:¥89.80

作 者: [美] 利奥·波特,[加] 丹尼尔·津加罗
出版社: 人民邮电出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787115659262 出版时间: 2025-03-01 包装: 平装
开本: 16开 页数: 字数:  

内容简介

  本书系统地介绍了如何利用AI助手Copilot和ChatGPT来提升Python编程的效率和质量。本书从AI助手的基础概念讲起,逐步深入到代码组织、阅读、测试、提示工程等关键技能,并引导读者通过实践掌握如何拆解复杂问题、查找和修复bug、自动化任务处理及开发计算机游戏。本书不仅提供了丰富的实例和练习,还探讨了AI助手的潜力和局限,以及未来的发展趋势,是希望在编程领域融入AI技术的读者的理想选择。本书适合对编程感兴趣,希望借助AI技术提升编程能力的初学者和中级程序员阅读。

作者简介

  Leo Porter博士是加州大学圣地亚哥分校计算机科学与工程系的教学教授。他因研究计算机课程中“同伴指导”的效果、利用点答器数据预测学生成绩,以及设计基本数据结构的概念清单而闻名。他与人合教了广受好评的Coursera专项课程“面向对象的Java编程:数据结构及其超越”,吸引了超过30万名学员注册学习;同时,他还在edX MicroMasters平台上开设了数据科学专业的第一门课程“Python for Data Science”,吸引了超过20万名学员注册学习。他曾获得6项最佳论文奖、SIGCSE 50周年纪念十大研讨会论文奖、沃伦学院杰出教学奖及加州大学圣地亚哥分校学术参议院杰出教学奖。他是ACM的杰出会员,并且曾在ACMSIGCSE董事会任职。Daniel Zingaro博士是多伦多大学的副教授。在过去的15年中,他向数千名学生讲授了Python编程入门课程,并编写了目前这门课程使用的教科书。他还撰写了数十篇关于如何教授和学习计算机科学入门课程的教育研究文章。Daniel与No Starch Press合作创作了两本书——上述的Python教科书和一本关于算法的图书——这两本书均被翻译成多种语言。Daniel获得了多个著名的教学和研究奖项,包括一个50年时间考验奖和多个最佳论文奖。

图书目录

第 1章 走近AI辅助编程 1
1.1 我们如何与计算机对话 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的风险和挑战 8
1.6 我们所需的技能 9
1.7 大众对于AI助手的担忧 10
本章小结 11

第 2章 快速上手Copilot 12
2.1 为接下来的学习做好准备工作 12
2.2 设置系统 14
2.3 在VS Code中使用Copilot 15
2.3.1 配置工作目录 15
2.3.2 验证配置是否运行正常 16
2.4 应对常见的Copilot难题 19
2.5 我们的第 一个编程练习 20
本章小结 30

第3章 设计函数 31
3.1 初识函数 32
3.1.1 函数的组成部分 33
3.1.2 使用函数 35
3.2 函数的益处 36
3.3 函数的角色 37
3.4 交给函数的合理任务应该是什么样的 40
3.4.1 优秀函数的特征 40
3.4.2 一些正面示例和反面示例 41
3.5 与Copilot协作设计函数的流程 42
3.6 借助Copilot创建优秀函数的几个示例 43
3.6.1 Dan的股票收益 43
3.6.2 小李子的密码 47
3.6.3 获得一个强密码 51
3.6.4 拼词游戏的计分规则 52
3.6.5 最佳单词 55
本章小结 56

第4章 理解Python代码(上) 58
4.1 为什么需要阅读代码 58
4.2 要求Copilot解释代码 60
4.3 必知必会的十大编程特性(第 一部分) 64
4.3.1 #1函数 65
4.3.2 #2变量 65
4.3.3 #3条件判断 67
4.3.4 #4字符串 70
4.3.5 #5列表 72
4.3.6 小结 74
本章小结 75

第5章 理解Python代码(下) 76
5.1 必知必会的十大编程特性(第二部分) 76
5.1.1 #6循环 76
5.1.2 #7缩进 81
5.1.3 #8字典 88
5.1.4 #9文件 89
5.1.5 #10模块 92
本章小结 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协作设计函数的流程 105
6.5 完整测试的示例 106
6.5.1 算出空位最多的那一排能容纳多少位新学生 106
6.5.2 改进提示词以寻求更好的解决方案 109
6.5.3 测试新版解决方案 111
6.6 另一个完整测试的示例:使用外部文件进行测试 113
6.6.1 我们应该执行哪些测试 114
6.6.2 创建函数 116
6.6.3 测试函数 117
6.6.4 与doctest相关的常见难题 118
本章小结 120

第7章 问题分解 121
7.1 问题分解简介 121
7.2 自顶向下设计的小示例 122
7.3 作者特征识别 123
7.4 采用自顶向下设计实现作者特征识别 125
7.5 将加工数据环节分解为子问题 126
7.5.1 计算出神秘图书的签名 126
7.5.2 计算出所有已知签名 131
7.5.3 寻找最接近的已知签名 132
7.6 自顶向下设计总结 134
7.7 实现所有函数 134
7.7.1 实现clean_word函数 135
7.7.2 实现average_word_length函数 136
7.7.3 实现different_to_total函数 137
7.7.4 实现exactly_once_to_total函数 138
7.7.5 实现split_string函数 140
7.7.6 实现get_sentences函数 142
7.7.7 实现average_sentence_length函数 142
7.7.8 实现get_phrases函数 143
7.7.9 实现average_sentence_complexity函数 144
7.7.10 实现make_signature函数 145
7.7.11 实现get_all_signatures函数 145
7.7.12 实现get_score函数 148
7.7.13 实现lowest_score函数 149
7.7.14 实现process_data函数 150
7.7.15 实现make_guess函数 151
7.8 进一步探讨 152
本章小结 153

第8章 调试代码并且更深入地理解代码 154
8.1 bug是如何产生的 154
8.2 如何找出bug 155
8.2.1 使用打印语句了解代码行为 156
8.2.2 使用VS Code的调试器了解代码行为 158
8.3 发现bug后如何修复 164
8.3.1 要求Copilot Chat修复bug 165
8.3.2 为整个函数给出新的提示词 166
8.3.3 基于函数的部分代码给出针对性的提示词 166
8.3.4 自己动手修改代码来修复bug 167
8.4 根据新技能调整工作流程 168
8.5 将调试技巧应用于新的挑战 169
8.6 利用调试器来更深入地理解代码 175
8.7 调试注意事项 175
本章小结 175

第9章 烦琐事务自动化 176
9.1 程序员为何制作工具 177
9.2 如何使用Copilot编写工具 177
9.3 示例一:清理电子邮件内容 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
本章小结 207

第 10章 开发小游戏 208
10.1 游戏设计入门 208
10.2 加入随机性 209
10.3 示例一:“数字猜猜乐” 212
10.3.1 游戏玩法介绍 212
10.3.2 自顶向下设计 213
10.3.3 参数与返回值类型 216
10.3.4 实现这些函数 217
10.3.5 为“数字猜猜乐”游戏添加图形界面 223
10.4 示例二:“饿死胆小鬼” 224
10.4.1 游戏玩法介绍 225
10.4.2 自顶向下设计 227
10.4.3 实现这些函数 230
10.4.4 自定义游戏 235
本章小结 238

第 11章 展望未来 239
11.1 提示模式 239
11.1.1 反转互动模式 240
11.1.2 角色扮演模式 243
11.2 当前局限与未来趋势 246
11.2.1 Copilot(当前)难以处理的难题 246
11.2.2 能否将Copilot 视为一种全新的编程语言 247
本章小结 250
参考文献 251

本目录推荐