Python程序设计基础与应用(AI辅助编程 微课版)

一本由北京大学陈斌教授精心打造的“AI赋能编程”《Python程序设计》新形态教材,将“AI是助手而非替手,先理解再接受”的核心理念贯穿全书
分享 推荐 0 收藏 0 阅读 89
陈斌 (作者) 978-7-115-70258-6

关于本书的内容有任何问题,请联系 人邮社 王宣

(1)知识体系完整严谨,循序渐进
全书内容按照“计算机原理→语言基础→AI 辅助方法→数据组织→程序逻辑→代码抽象→持久化存储→网络与分析→图形界面→硬件控制”的脉络展开,各章知识点之间有明确的前后依赖关系,应用篇频繁回顾并复用基础篇介绍过的语法和概念,帮助读者构建融会贯通的知识体系,而不是停留在孤立的技术碎片层面。
(2)故事引导,问题驱动,学以致用
贯穿全书的小明、小强、小佩、小王等学生的学习故事,是每章知识点的需求来源,而非修饰性案例。小明开发的学生管理系统在第 4 章建立数据结构,在第 5 章加入控制逻辑,在第 6 章封装类,在第 7 章实现持久化——主线项目跨章节迭代升级,持续给读者带来“前面的知识用得上”的正向反馈,有效应对“学了不知道做什么”的困境。
(3)借助 AI 辅助学习,而非替代
本书在第 3 章系统建立 AI 辅助学习的提问框架、上下文管理、结果验证和代码审查的方法论;第 4~10 章均设有 AI 辅助学习实践,结合该章具体代码场景演示如何与大语言模型高效协作。“AI 是助手而非替手,先理解再接受”的核心理念贯穿全书,帮助读者在使用 AI 提升效率的同时,真正建立独立的编程思维,培养问题解决能力。
(4)代码完整可执行,资源丰富
全书所有示例代码均经过完整执行验证,文件名采用统一格式(“章号-节号-小节号-功能描述.py”),便于检索和对照学习。此外,本书提供 PPT 课件、教学大纲、教案、习题答案等常规教辅资源,配套微课视频、源代码和实验数据集,读者扫描各章二维码即可观看,实现纸质教材与数字资源的新形态融合应用。
(5)综合案例趣味多元,面向应用
应用篇每章均包含一个或多个有完整代码实现的综合案例,如文件批量改名、全唐诗高频词可视化、全球地震数据统计分析、加密日记本、多人反应力对抗赛……案例覆盖文本处理、数据可视化、网络应用、界面开发和物联网控制等,为不同专业背景的读者提供丰富多元的实践场景。
(6)覆盖 Python 应用生态,紧跟前沿
除经典 Python 语法以外,本书还覆盖大语言模型辅助编程(第 3 章)、pandas 与 Matplotlib 数据分析(第 8 章)、Streamlit 交互式 Web 应用(第 9 章)、PyInstaller 打包分发(第 9 章)和 MicroPython 编程(第 10 章)等当前业界广泛使用的技术栈,可以帮助读者在掌握语言基础的同时,建立对 Python 应用生态的整体认知。
¥69.80 ¥59.33 (8.5 折)

内容摘要

AI(Artificial Intelligence,人工智能)技术的迅猛发展正在深刻改变编程教育的形态。Python凭借简洁易学的语法和丰富的第三方生态,成为数据分析、AI、自动化运维等领域的优选语言;以DeepSeek为代表的大语言模型的普及,则为程序设计初学者提供了一种新型的智能学习助手。掌握Python编程技术,并学会与AI高效协作解决实际问题,已成为当代大学生应具备的重要数字素养。
本书共10章,分为基础篇和应用篇两部分。基础篇(第1~6章)涵盖计算机原理概述、Python概述、大语言模型辅助编程学习、数据类型和变量、程序逻辑与控制结构、函数与类定义;应用篇(第7~10章)涵盖文件处理与进阶应用、网络应用与数据分析、图形界面开发与程序打包分发、单片机编程。本书以贯穿全书的学生学习故事为引导脉络,在第3章系统讲授大语言模型辅助编程学习的方法论后,第4~10章均设有AI辅助学习相关实践,结合具体代码场景演示如何与大语言模型高效协作。全书注重基础概念的准确性与示例代码的可执行性,理论与实践结合,内容循序渐进。
本书可作为高校程序设计相关课程的教材,也可供数据分析、科学计算、自动化运维等领域的科技人员自学参考,还可作为AI辅助编程培训课程的教材。

目录

【章名目录】
第 1章 计算机原理概述
第 2章 Python概述
第3章 大语言模型辅助编程学习
第4章 数据类型和变量
第5章 程序逻辑与控制结构
第6章 函数与类定义
第7章 文件处理与进阶应用
第8章 网络应用与数据分析
第9章 图形界面开发与程序打包分发
第 10章 单片机编程

【详细目录】
第 1章 计算机原理概述
本章导读 1
引导案例 1
1.1 计算机的发展历程 1
1.1.1 数字与计算 2
1.1.2 机械计算机 3
1.1.3 电子计算机及其分代 4
1.2 计算机基础知识 5
1.2.1 计算机的工作原理 5
1.2.2 计算机软硬件系统 6
1.2.3 操作系统的基本概念 7
1.2.4 互联网的基本概念 8
1.3 信息表示和数据编码 9
1.3.1 信息存储单位 9
1.3.2 数值编码 10
1.3.3 文字编码 10
1.3.4 图像和视频编码 12
1.3.5 指令编码 12
1.4 程序设计语言 13
1.4.1 程序与计算思维 13
1.4.2 程序设计语言及其分代 14
1.4.3 Python的发展历程 15
1.4.4 Python的应用方向 16
本章小结 17
本章习题 17

第 2章 Python概述
本章导读 19
引导案例 19
2.1 Python开发环境 19
2.1.1 官方解释器 20
2.1.2 “你好!世界”程序 21
2.1.3 集成开发环境 22
2.1.4 在浏览器中运行Python代码 24
2.1.5 安装第三方模块 26
2.2 Python程序基本要素 27
2.2.1 “猜数字”游戏程序 27
2.2.2 程序代码结构 28
2.2.3 程序代码格式 29
2.2.4 解释型语言特征 30
2.3 基本输入输出 31
2.3.1 输入函数input() 31
2.3.2 输出函数print() 32
2.3.3 用割圆术求圆周率 33
2.4 体验Python程序 34
2.4.1 “随便水吧”程序 34
2.4.2 绘制蓝色五角星程序 35
2.4.3 字符三角形程序 36
2.4.4 常见错误及其修正方法 36
2.4.5 在线评测系统 38
本章小结 39
本章习题 40

第3章 大语言模型辅助编程学习
本章导读 42
引导案例 42
3.1 大语言模型概述 42
3.1.1 神经网络与大参数模型 43
3.1.2 判别式人工智能与生成式人工智能 44
3.1.3 国内外大语言模型简介 44
3.2 大语言模型基本使用方法 45
3.2.1 对话与上下文 45
3.2.2 典型应用情境 46
3.2.3 如何进行有效对话 49
3.3 编程相关问题描述与交互方法 50
3.3.1 描述问题和需求 50
3.3.2 反馈错误并修复错误 51
3.3.3 逐步完善 53
3.3.4 AI编程助手 55
本章小结 56
本章习题 57

第4章 数据类型和变量
本章导读 59
引导案例 59
4.1 数据、名字和变量 59
4.1.1 数据、对象和类型 60
4.1.2 名字和变量 61
4.1.3 赋值语句 61
4.2 基本数据类型 64
4.2.1 文本类型:字符串 64
4.2.2 数值类型:整数和浮点数 66
4.2.3 逻辑类型:布尔值 69
4.3 进阶数据类型 71
4.3.1 列表和元组 71
4.3.2 集合 74
4.3.3 字典 76
4.3.4 组合数据类型 78
4.4 代码格式与书写规范 80
4.4.1 代码的基本结构 80
4.4.2 注释和变量命名 82
4.4.3 实用约定与规范 83
4.4.4 代码格式化工具 85
4.5 AI辅助数据类型选型及代码生成 86
4.5.1 AI辅助数据类型选型 86
4.5.2 AI辅助生成数据操作代码 87
本章小结 88
本章习题 89

第5章 程序逻辑与控制结构
本章导读 91
引导案例 91
5.1 算法与流程控制 92
5.1.1 算法步骤 92
5.1.2 顺序结构 93
5.1.3 控制结构 93
5.2 逻辑判断与条件分支结构 95
5.2.1 什么是条件分支 95
5.2.2 条件语句 95
5.2.3 三元表达式 97
5.2.4 多种情况的条件分支 98
5.3 重复执行与循环结构 101
5.3.1 什么是循环 101
5.3.2 迭代循环语句 102
5.3.3 推导式 104
5.3.4 条件循环语句 106
5.3.5 跳出和继续循环 108
5.4 异常处理机制 110
5.4.1 什么是异常 110
5.4.2 异常处理语句 111
5.4.3 异常触发语句 113
5.4.4 编写稳健的程序 115
5.5 枚举法 116
5.5.1 用枚举法求周瑜年龄 116
5.5.2 枚举策略 117
5.5.3 字母算式谜题 119
5.5.4 素数判断 120
5.6 AI辅助编程:控制结构实践 121
5.6.1 AI辅助生成条件分支与循环代码 121
5.6.2 AI辅助调试控制结构中的逻辑错误 123
本章小结 124
本章习题 125

第6章 函数与类定义
本章导读 127
引导案例 127
6.1 代码复用与函数定义 127
6.1.1 代码整合与复用 128
6.1.2 函数定义 129
6.1.3 函数调用 131
6.2 函数参数及变量作用域 133
6.2.1 向函数传递“选项” 133
6.2.2 形式参数和实际参数 134
6.2.3 位置参数和关键字参数 136
6.2.4 局部变量和全局变量 137
6.3 函数式编程 140
6.3.1 什么是函数式编程 140
6.3.2 lambda表达式 141
6.3.3 自定义排序 142
6.3.4 映射函数map() 144
6.3.5 筛选函数filter() 146
6.4 面向对象方法与类定义 147
6.4.1 什么是对象 147
6.4.2 类定义 148
6.4.3 类定义中的特殊方法 150
6.4.4 类的继承 152
6.4.5 关于self 154
6.5 递归算法与分治策略 156
6.5.1 什么是递归 156
6.5.2 重复计算与函数值缓存 157
6.5.3 绘制二叉树 159
6.5.4 分治策略 160
6.5.5 汉诺塔问题 162
6.6 AI辅助函数与类设计 163
6.6.1 AI辅助评审函数设计质量 163
6.6.2 AI辅助生成类的框架代码 164
本章小结 166
本章习题 167

第7章 文件处理与进阶应用
本章导读 169
引导案例 169
7.1 持久化存储与文件操作 169
7.1.1 什么是持久化存储 170
7.1.2 持久化存储模块 170
7.1.3 文件处理的一般过程 172
7.1.4 文件和目录管理模块 173
7.1.5 应用:文件批量改名 176
7.2 文本文件读写与应用 178
7.2.1 文本文件和字符编码 178
7.2.2 文本文件读写 179
7.2.3 应用:歌词记录本 181
7.3 中文处理与应用 183
7.3.1 什么是中文分词 183
7.3.2 中文分词库jieba 184
7.3.3 词云图库WordCloud 185
7.3.4 应用:全唐诗高频词可视化 187
7.4 CSV文件读写与应用 188
7.4.1 什么是CSV格式 189
7.4.2 CSV文件读写 189
7.4.3 应用:全球地震数据统计分析 191
7.5 JSON文件读写与应用 193
7.5.1 什么是JSON格式 194
7.5.2 JSON文件读写 194
7.5.3 应用:歌词下载器 196
7.6 图像文件处理与应用 198
7.6.1 图像文件基础知识 198
7.6.2 图像处理库Pillow 199
7.6.3 应用:图片批量加水印 202
7.7 AI辅助文件处理编程 204
7.7.1 AI辅助解决字符编码问题 205
7.7.2 AI辅助生成批量文件处理脚本 205
本章小结 207
本章习题 208

第8章 网络应用与数据分析
本章导读 211
引导案例 211
8.1 网络数据爬取与网页分析 212
8.1.1 网络数据爬取的基本原理 212
8.1.2 网络数据请求库Requests 213
8.1.3 网页分析库Beautiful Soup 214
8.1.4 应用:B站热门视频榜单 216
8.2 数据分析库pandas 218
8.2.1 数据分析的基本概念 219
8.2.2 Series和DataFrame对象使用 219
8.2.3 数据统计分析 221
8.2.4 数据的增删改操作 223
8.2.5 读写Excel和CSV文件 224
8.2.6 应用:股票数据统计分析 225
8.3 数据可视化库Matplotlib 227
8.3.1 数据可视化的基本概念 227
8.3.2 常用图表绘制 228
8.3.3 自定义图表样式 230
8.3.4 多子图布局 231
8.3.5 应用:班级成绩分布可视化 233
8.4 大语言模型辅助数据分析 235
8.4.1 大语言模型辅助数据分析概述 235
8.4.2 数据预处理与代码生成 236
8.4.3 自然语言查询与可视化生成 237
8.4.4 自动化报告生成 238
8.4.5 应用:电商销售数据分析与摘要生成 239
本章小结 242
本章习题 243

第9章 图形界面开发与程序打包分发
本章导读 246
引导案例 246
9.1 图形界面概述 246
9.1.1 人机交互基础知识 247
9.1.2 事件驱动模型编程 247
9.1.3 图形界面组件分类 248
9.1.4 图形界面布局 249
9.2 图形界面库PySimpleGUI 250
9.2.1 PySimpleGUI简介 250
9.2.2 常用组件及其功能 251
9.2.3 界面主题与布局 253
9.2.4 应用:加密日记本 254
9.3 Web图形界面库Streamlit 256
9.3.1 Streamlit简介 256
9.3.2 数据、图表和交互组件 257
9.3.3 对话与状态组件 259
9.3.4 界面布局 261
9.3.5 应用:天气预报大屏 262
9.4 PyInstaller程序打包与分发 265
9.4.1 PyInstaller简介 265
9.4.2 PyInstaller安装与配置 265
9.4.3 使用PyInstaller打包简单程序 266
9.4.4 处理程序隐式依赖和资源文件问题 267
9.4.5 定制打包选项 268
9.4.6 应用:打包加密日记本 269
9.5 AI辅助GUI开发与打包 271
9.5.1 AI辅助生成GUI组件代码 271
9.5.2 AI辅助调试打包问题 272
9.5.3 AI辅助优化界面细节与用户体验 273
本章小结 274
本章习题 274

第 10章 单片机编程
本章导读 278
引导案例 278
10.1 MicroPython 278
10.1.1 MicroPython简介 279
10.1.2 MicroPython与Python的区别 280
10.1.3 开发环境搭建 280
10.1.4 基本语法与编程实践 281
10.1.5 标准库与模块 283
10.2 micro:bit编程 283
10.2.1 micro:bit简介 284
10.2.2 LED显示和按钮 284
10.2.3 音乐和语音合成 286
10.2.4 各类传感器 287
10.2.5 无线通信 288
10.3 综合应用:多人反应力对抗赛 289
10.3.1 应用介绍 289
10.3.2 软硬件构成 290
10.3.3 程序代码分析 290
10.4 AI辅助MicroPython开发 293
10.4.1 AI辅助理解micro:bit API 293
10.4.2 AI辅助生成传感器控制代码 294
本章小结 295
本章习题 296

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

陈斌:
博士,北京大学计算机学院教授,主要研究方向为虚拟现实和虚拟地理环境。担任国际数字地球学会中国国家委员会虚拟地理环境专业委员会副主任委员,中国青少年科技教育工作者协会人工智能普及专委会委员。主讲的慕课“人工智能与信息社会”、“离散数学概论”、“地球与人类文明”被认定为国家级一流本科课程,获国家级教学成果二等奖1项,北京市教学成果一等奖1项、二等奖1项,获北京市高等学校教学名师奖、北京大学首届教学卓越奖。主编过《数据与数据结构》(教育科学出版社,2020年),《Python语言基础》(国家开放大学出版社,2024年)等教材。

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部