《Python极客编程:用代码探索世界》是由人民邮电出版社出版的一本关于Python编程方面的书籍,作者是李·沃恩,主要介绍了关于Python、极客编程方面的知识内容,目前在Python编程类书籍综合评分为:7.4分。
书籍介绍
内容简介
本书包含16个有趣的编程项目,共分为12章。每章从一个明确的项目目标开始,引导读者像程序员一样思考解决问题的方法并完成任务。本书介绍用贝叶斯法则确定事件概率,用自然语言处理技术分析语料库,用collections和random等模块加密字符,用OpenCV和NumPy等库实现图像差异检测、图像属性测量、人脸检测、人脸识别等计算机视觉应用,用turtle模块模拟图像移动轨迹,用pandas库分析数据,用bokeh等库进行数据可视化。通过对本书的学习,读者将学会使用Python创建完整、实用的Python程序。
本书能帮助Python初学者理解编程思想并培养Python编程技能,也能帮助有一定编程基础的Python程序员从项目实战中获得解决实际问题的启发。
目录
- 第1章 用贝叶斯法则营救失事船只的船员1
- 1.1 贝叶斯法则1
- 1.2 项目1:搜索和救援4
- 1.2.1 策略4
- 1.2.2 安装Python库5
- 1.2.3 贝叶斯代码7
- 1.2.4 玩游戏18
- 1.3 小结19
- 1.4 延伸阅读20
- 1.5 挑战项目:更聪明的搜索20
- 1.6 挑战项目:用蒙特卡洛模拟寻找最佳策略20
- 1.7 挑战项目:计算检测概率20
- 第 2章 用计量文体学来确定作者的身份22
- 2.1 项目2:《巴斯克维尔的猎犬》《世界大战》和《失落的世界》22
- 2.1.1 策略23
- 2.1.2 安装NLTK23
- 2.1.3 语料库26
- 2.1.4 计量文体学代码26
- 2.2 小结38
- 2.3 延伸阅读39
- 2.4 实践项目:用分散图分析《巴斯克维尔的猎犬》39
- 2.5 实践项目:标点符号热图40
- 2.6 挑战项目:修正频率41
- 第3章 用自然语言处理总结演讲42
- 3.1 项目3:《我有一个梦想》总结演讲稿!42
- 3.1.1 策略43
- 3.1.2 网页抓取43
- 3.1.3 《我有一个梦想》的代码43
- 3.2 项目4:用gensim总结演讲内容50
- 3.2.1 安装gensim50
- 3.2.2 《整理你的床》的代码51
- 3.3 项目5: 用词云总结文本53
- 3.3.1 词云和PIL模块53
- 3.3.2 词云的代码54
- 3.3.3 微调词云57
- 3.4 小结59
- 3.5 延伸阅读59
- 3.6 挑战项目:游戏之夜59
- 3.7 挑战项目:对总结进行总结60
- 3.8 挑战项目:小说总结61
- 3.9 挑战项目:不只是你说什么,而是你怎么说!62
- 第4章 使用书籍密码发送超级秘密消息63
- 4.1 一次性密码本63
- 4.2 瑞贝卡密码65
- 4.3 项目6:Rebecca的数字密钥65
- 4.3.1 策略66
- 4.3.2 加密代码67
- 4.3.3 发送消息74
- 4.4 小结74
- 4.5 延伸阅读74
- 4.6 实践项目:对字符绘图75
- 4.7 实践项目:发送秘密76
- 第5章 发现冥王星78
- 5.1 项目7:复制闪烁比较器79
- 5.1.1 策略80
- 5.1.2 数据80
- 5.1.3 闪烁比较器代码81
- 5.1.4 使用闪烁比较器91
- 5.2 项目8:用图像差异探测瞬变天体93
- 5.2.1 策略93
- 5.2.2 瞬变探测器代码93
- 5.2.3 使用瞬变探测器98
- 5.3 小结98
- 5.4 延伸阅读99
- 5.5 实践项目:绘制轨道路径99
- 5.6 实践项目:区别是什么99
- 5.7 挑战项目:数星星100
- 第6章 模拟阿波罗8号的自由返回轨迹101
- 6.1 理解阿波罗8号任务102
- 6.1.1 自由返回轨迹102
- 6.1.2 三体问题103
- 6.2 项目9:与阿波罗8号一起登月!103
- 6.2.1 使用turtle模块104
- 6.2.2 策略107
- 6.2.3 阿波罗8号自由返回的代码108
- 6.2.4 运行模拟118
- 6.3 小结120
- 6.4 延伸阅读120
- 6.5 实践项目:模拟搜索模式120
- 6.6 实践项目:让CSM启动122
- 6.7 实践项目:让CSM停下来122
- 6.8 挑战项目:真实比例模拟123
- 6.9 挑战项目:真正的阿波罗8号123
- 第7章 选择火星着陆点124
- 7.1 如何登陆火星124
- 7.2 MOLA地图125
- 7.3 项目10:选择火星登陆点126
- 7.3.1 策略126
- 7.3.2 地点选择器代码127
- 7.3.3 结果140
- 7.4 小结141
- 7.5 延伸阅读141
- 7.6 实践项目:确认绘画成为图像的一部分142
- 7.7 实践项目:提取高程剖面图142
- 7.8 实践项目:3D绘图143
- 7.9 实践项目:混合地图143
- 7.10 挑战项目:三人成列145
- 7.11 挑战项目:绕回矩形145
- 第8章 探测遥远的系外行星147
- 8.1 凌星测光法147
- 8.2 项目11:模拟系外行星的凌星过程149
- 8.2.1 策略150
- 8.2.2 凌星代码150
- 8.2.3 凌星测光实验155
- 8.3 项目12:系外行星成像157
- 8.3.1 策略157
- 8.3.2 Pixelator代码159
- 8.4 小结163
- 8.5 延伸阅读163
- 8.6 实践项目:探测外星巨型建筑164
- 8.7 实践项目:探测小行星凌星165
- 8.8 实践项目:考虑临边昏暗166
- 8.9 实践项目:探测星斑169
- 8.10 实践项目:探测外星舰队169
- 8.11 实践项目:探测有月亮的行星170
- 8.12 实践项目:测量系外行星的日长170
- 8.13 挑战项目:生成动态光度曲线171
- 第9章 识别朋友或敌人172
- 9.1 检测照片中的人脸172
- 9.2 项目13:编写机器人哨兵炮程序173
- 9.2.1 策略175
- 9.2.2 代码175
- 9.2.3 结果185
- 9.3 从视频流中检测人脸186
- 9.4 小结189
- 9.5 延伸阅读189
- 9.6 实践项目:模糊人脸189
- 9.7 挑战项目:检测猫脸190
- 第 10章 用人脸识别限制访问191
- 10.1 用局部二进制模式直方图识别人脸191
- 10.1.1 人脸识别流程图192
- 10.1.2 提取局部二进制模式直方图193
- 10.2 项目14:限制接触外星制品195
- 10.2.1 策略195
- 10.2.2 支持模块和文件196
- 10.2.3 视频采集代码196
- 10.2.4 人脸训练器代码200
- 10.2.5 人脸预测器代码202
- 10.2.6 结果204
- 10.3 小结205
- 10.4 延伸阅读205
- 10.5 挑战项目:添加密码和视频采集205
- 10.6 挑战项目:长得像和双胞胎206
- 10.7 挑战项目:时间机器206
- 第 11章 创建交互式僵尸逃离地图207
- 11.1 项目15:用地区分布图实现人口密度可视化207
- 11.1.1 策略208
- 11.1.2 Python数据分析库208
- 11.1.3 bokeh和holoviews库210
- 11.1.4 安装pandas、bokeh和holoviews210
- 11.1.5 访问县、州、失业和人口数据210
- 11.1.6 侵入holoviews212
- 11.1.7 地区分布图代码214
- 11.1.8 计划逃离220
- 11.2 小结223
- 11.3 延伸阅读224
- 11.4 挑战项目:绘制美国人口变化图224
- 第 12章 我们生活在计算机模拟中吗225
- 12.1 项目16:生命、宇宙和耶尔特的池塘225
- 12.1.1 池塘模拟代码226
- 12.1.2 池塘模拟的影响228
- 12.1.3 测量穿越格子的成本230
- 12.1.4 结果232
- 12.1.5 策略232
- 12.2 小结233
- 12.3 延伸阅读233
- 12.4 继续前进234
- 12.5 挑战项目:寻找安全空间234
- 12.6 挑战项目:太阳来了235
- 12.7 挑战项目:通过狗的眼睛看235
- 12.8 挑战项目:自定义单词搜索235
- 12.9 挑战项目:简化庆典幻灯片235
- 12.10 挑战项目:编织一张纠结的网235
- 12.11 挑战项目:走,去山上告诉它236
- 附录实践项目解决方案237