本书以智能时代为背景,介绍如何利用人工智能技术辅助Python的开发,更好更高效地解决实际问题。全书内容分为5章:让Python在机器上跑起来、熟悉Python语言、用Python对接API、掌握编写代码的能力、用Python程序实现人机交互。
本书以任务为驱动,并且案例都来源于生活和工作的实际场景。“做”与“学”相结合,将理论知识和实际操作呈现给读者,生动有趣地介绍了从安装Python等入门知识,到用简短代码解决各种应用场景中的大问题的技能提升。内容系统全面。
本书适合学习Python语言编程的入门读者阅读,也适合Python编程技能提升的读者使用。
导读 为什么要学习Python 001
第1章 让Python在机器上跑起来 003
1.1 跟我做:安装Anaconda 004
1.1.1 跟我学:Python虚环境 005
1.1.2 跟我学:用Anaconda界面管理Python虚环境 006
1.1.3 跟我学:用Anaconda命令行管理Python虚环境 007
1.2 跟我做:安装Python开发工具 007
1.3 跟我做:一行命令创建FTP服务器,并共享电脑文件 008
1.3.1 跟我学:主动模式下连接FTP服务器的方法 010
1.3.2 跟我学:了解Python命令后面的参数 012
1.3.3 跟我学:什么是模块 012
1.3.4 跟我学:第三方模块的安装方法 013
1.3.5 跟我做:为Anaconda添加国内镜像 014
1.4 跟我做:在Spyder中编写代码,获取本机IP 015
1.4.1 跟我学:快速了解Spyder运行功能 017
1.4.2 使用Python的“帮助” 018
1.4.3 跟我做:用命令行启动Python程序,并传入参数 019
1.4.4 跟我做:用Spyder启动Python程序,并传入参数 019
1.4.5 练一练:完成一个被动模式的FTP服务器 020
1.5 总结 021
第2章 熟悉Python语言 022
2.1 跟我做:2行代码将汉字转成拼音,帮小学生复习生字 023
2.1.1 跟我学:快速掌握列表类型 023
2.1.2 跟我学:活用print语法与字符串 024
2.1.3 跟我学:精通模块的多种导入方式 029
2.1.4 跟我做:从GitHub上直接导入模块 031
2.1.5 跟我做:一行代码实现所有模块自动导入 032
2.2 跟我做:3行代码实现OCR——图片转文字 033
2.2.1 跟我学:Python中的“序列”类型操作 035
2.2.2 跟我学:列表推导式 036
2.3 跟我做:6行代码将运行结果导入到Word文档中 037
2.3.1 跟我学:了解字符串类型的常用函数 038
2.3.2 跟我学:f-string形式的格式化用法 039
2.3.3 跟我学:了解字符串中的转义字符 041
2.4 跟我做:4行代码实现TTS——朗读文字 044
2.4.1 跟我学:用for语句了解更多TTS模块属性 044
2.4.2 跟我学:精通Python语法中的循环处理及使用策略 045
2.4.3 练一练:用TTS自定义声音朗读英文 047
2.4.4 跟我学:了解Python中的类 048
2.4.5 跟我学:类的实例化 049
2.4.6 跟我学:了解Python中的子类 051
2.4.7 跟我做:以类的方式将PPT中的文字提取到Word里 053
2.5 跟我做:3行代码实现可以上传图片的web网站 055
2.5.1 跟我学:了解Python语言中变量的本质——对象 057
2.5.2 练一练:尝试使用Python语言中与类型相关的其他函数 059
2.6 总结 059
2.6.1 练一练:编写程序实现生字测试试卷 059
2.6.2 练一练:编写程序实现自动听写训练 059
2.6.3 练一练:借助ChatGPT实现一个给小朋友读故事的机器人 060
第3章 用Python对接API 062
3.1 跟我做:使用API接入ChatGPT——实现程序可控的聊天机器人 063
3.1.1 跟我学:了解ChatGPTAPI模块的返回格式——字典类型 064
3.1.2 跟我学:了解openai模块的更多功能 066
3.1.3 跟我学:了解更多国内AIGC大模型平台所提供的API服务 066
3.2 跟我做:3行代码实现抠图功能 069
3.2.1 跟我学:基于网络请求的方法调用API 071
3.2.2 练一练:利用网络请求调用API的方式实现将人物照片转成动漫 071
3.2.3 跟我学:用Python语言对文件进行操作 073
3.2.4 跟我学:使用with语句简化代码 076
3.2.5 跟我做:本地部署抠图模型 077
3.3 跟我做:4行代码下载任意视频 079
3.3.1 跟我做:格式化URL的视频信息 083
3.3.2 跟我做:用Pandas模块处理URL的视频信息 085
3.3.3 练一练:借助ChatGPT完成手动下载音、视频文件,并进行合并 088
3.3.4 跟我做:4行代码实现自动发送邮件 089
3.3.5 练一练:制作一个在线服务,提取视频文件并转存到邮箱 092
3.4 跟我做:本地部署语音识别模型,并提供API服务 092
3.4.1 跟我做:从麦克风录音,并对其进行语音识别 094
3.4.2 跟我学:了解Python中的函数 096
3.4.3 跟我学:了解Base64编码 097
3.4.4 跟我学:了解Python中的异常处理 100
3.4.5 跟我做:4行代码从音频文件中提取文字 105
3.5 跟我做:本地部署大语言模型,并实现类似ChatGPT功能 107
3.5.1 跟我学:用量化技术降低大语言模型对算力的需求 110
3.5.2 跟我学:更灵活地运行大语言模型 111
3.5.3 跟我做:实现基于web界面的本地大语言模型 115
3.5.4 跟我做:部署本地大语言模型并提供与ChatGPT相同的API服务 117
3.5.5 跟我学:了解Python中的requirements.txt 120
3.5.6 跟我学:了解获取更多前沿大模型的渠道 122
3.6 总结 122
3.6.1 练一练:本地部署图像修复工具,支持擦除并替换图片上的任何东西 123
3.6.2 练一练:实现一个提取视频字幕的全自动工具 123
第4章 掌握编写代码的能力 124
4.1 跟我做:15行代码实现拼接身份证反正面的web程序 125
4.1.1 跟我学:为函数添加默认参数 126
4.1.2 跟我学:掌握函数调用的更多方式? 127
4.2 跟我做:用封装模块的方式为图片加水印? 132
4.2.1 跟我学:了解模块的属性 134
4.2.2 跟我做:17行代码为加水印函数添加web交互功能? 135
4.2.3 跟我学:了解模块的导入限制? 136
4.2.4 跟我做:为图片添加隐藏水印? 137
4.3 跟我做:30行代码实现人脸检测 138
4.3.1 跟我学:了解更高效的数据处理模块——NumPy 140
4.3.2 跟我学:全面掌握图像处理模块——Pillow 141
4.3.3 跟我做:40行代码实现按证件照尺寸裁剪图片 146
4.3.4 跟我学:掌握Python中的文件名处理 148
4.4 跟我做:20行代码为1寸照片换底色 150
4.4.1 跟我学:全面掌握NumPy模块 151
4.4.2 跟我学:用GPU优化NumPy模块的运算速度 160
4.4.3 跟我做:9行代码实现美颜功能 162
4.4.4 跟我做:10行代码实现基于web的微调美颜功能? 163
4.5 总结 165
4.5.1 练一练:实现一个端到端的证件照制作web程序? 166
第5章 用Python程序实现人机交互 167
5.1 跟我做:用Python实现交互式前端,管理自己的运动计划 168
5.1.1 跟我学:了解条件判断语句(if、else)的妙用 170
5.1.2 跟我学:认识Python中的匿名函数——lambda 171
5.1.3 跟我学:了解匿名函数与可迭代函数 172
5.1.4 跟我学:了解Python中的偏函数、工厂函数、闭合函数以及装饰器语法 175
5.2 跟我做:用Python实现大屏程序 180
5.2.1 跟我学:快速上手Flask框架 182
5.2.2 跟我学:了解大屏程序的数据加载过程 184
5.2.3 跟我学:掌握类方法中的super()函数 187
5.2.4 跟我学:使用装饰器实现类的私有化 190
5.2.5 跟我学:了解Flask与HTML模板的数据交互 196
5.2.6 跟我做:改变大屏程序的显示图表 198
5.3 跟我做:用Python开发基于桌面的GUI交互工具 202
5.3.1 跟我做:将Python代码变成可执行文件,提升使用体验 205
5.3.2 跟我做:为Python程序添加管理员运行权限 207
5.3.3 跟我做:用AIGC设计LOGO,并打包exe程序 208
5.3.4 跟我学:用Cython提升Python代码的运行速度 210
5.4 跟我做:借助ChatGPT完成基于Python的安卓应用 212
5.4.1 跟我做:用ChatGPT开发手机拨测App 215
5.4.2 跟我学:了解Python中异步函数的使用 220
5.5 跟我做:用向量数据库检索本地文件 222
5.5.1 跟我学:掌握不同场景下的文本拆分方法 225
5.5.2 跟我做:让大语言模型通过查资料的方式来回答问题 227
5.5.3 跟我学:了解Python中的类型注解 229
5.5.4 跟我学:了解智能时代的大模型应用——检索增强型生成技术 230
5.6 总结 231
5.6.1 练一练:制作自己的RAG机器人 231