夏敏捷主编的Python项目案例开发著作出版了

Python项目案例开发从入门到实战——爬虫、游戏和机器学习

作者:郑秋生、夏敏捷、宋宝卫、李娟

Python项目案例开发从入门到实战——爬虫、游戏和机器学习
标题

经过一年多辛苦写作,同时感谢多位同事的参与和录制视频,终于顺利出版了,希望获取读者的认可!

内容简介

本书以Python 3.5为编程环境,从基本的程序设计思想入手,逐步展开Python语言教学,是一本面向广大编程学习者的程序设计类图书。本书以案例带动知识点的讲解,将Python

知识点分解到各个不同的案例,每个案例各有侧重点。同时展示实际项目的设计思想和设计理念,使读者可以举一反三。
 

本书内容:第1章是Python基础知识,主要讲解Python的基础语法和面向对象编程基础,Tkinter图形界面设计、文件使用、Python的第三方库等知识,读者可以轻松掌握Python基础知识。

从第2章开始是实用项目案例开发,综合应用前面技术,并且每章都有突出的新知识点,如侧重数据库应用的《智力问答测试》,应用爬虫技术开发的案例《校园网搜索引擎》、应用ITchat微信库开发的《微信机器人》、机器学习案例《基于朴素贝叶斯算法的文本分类》、深度学习案例《基于卷积神经网络的手写体识别》等,还有经典的大家耳熟能详的游戏,比如连连看、推箱子、中国象棋、两人麻将、人物拼图、网络五子棋、飞机大战等游戏案例。
 

 

本书案例具有实用性,如校园网搜索引擎、小小翻译器、抓取百度图片这些爬虫案例略加修改可以应用实际项目中;还有通过微信通信协议开发微信机器人,机器学习的文本分类、基于卷积神经网络的手写体识别等案例,另外是一些大家耳熟能详的游戏案例,比如连连看、推箱子、中国象棋、网络五子棋、两人麻将、人物拼图和飞机大战游戏等,让你对枯燥的Python语言学习充满乐趣,在项目案例开发过程中,不知不觉地学会这些枯燥的技术。通过本书你将学会Python编程技术和技巧,学会面向对象的设计技术,了解程序设计的所有相关内容。我们不仅为您列出了完整的代码,同时对所有的源代码进行了非常详细的解释,做到了通俗易懂,图文并茂。

本书适用于Python语言学习者、程序设计人员和游戏编程爱好者。


图书目录

 

《Python轻松学项目案例开发》.. 1

第1章  Python基础知识.. 1

1.1  Python语言简介.. 1

1.2  Python语法基础.. 2

1.2.1  Python数据类型.. 2

1.2.2  序列数据结构.. 3

1.2.3  Python控制语句.. 11

1.2.4  Python函数与模块.. 18

1.3  Python面向对象设计.. 22

1.3.1  定义和使用类.. 22

1.3.2  构造函数__init__. 23

1.3.3  析构函数.. 23

1.3.4  实例属性和类属性.. 24

1.3.5  私有成员与公有成员.. 25

1.3.6  方法.. 26

1.3.7  类的继承.. 27

1.3.8  多态.. 29

1.3.9  面向对象应用案例——扑克牌发牌程序.. 31

1.4  Python 图形界面设计.. 35

1.4.1  创建Windows窗口.. 35

1.4.2  几何布局管理器.. 36

1.4.3  Tkinter 组件.. 39

1.4.4  Tkinter字体.. 50

1.4.5  Python事件处理.. 52

1.4.4  图形界面设计应用案例——开发猜数字游戏.. 57

1.5  Python文件的使用.. 59

1.5.1  打开(建立)文件.. 59

1.5.2  读取文本文件.. 61

1.5.3  写文本文件.. 62

1.5.4  文件内移动.. 64

1.5.5  文件的关闭.. 65

1.5.6  二进制文件的读写.. 65

1.6  Python的第三方库.. 67

第2章  序列应用——猜单词游戏.. 69

2.1  猜单词游戏功能介绍.. 69

2.2  程序设计的思路.. 69

2.3  关键技术——random模块.. 70

2.4  程序设计的步骤.. 72

第3章  数据库应用——智力问答测试.. 74

3.1  智力问答测试功能介绍.. 74

3.2  程序设计的思路.. 74

3.3  关键技术.. 74

3.3.1  访问数据库的步骤.. 74

3.3.2  创建数据库和表.. 76

3.3.3  数据库的插入、更新和删除操作.. 76

3.3.4  数据库表的查询操作.. 77

3.3.5  数据库使用实例——学生通讯录.. 78

3.4  程序设计的步骤.. 81

3.4.1  生成试题库.. 81

3.4.2  读取试题信息.. 82

3.4.3  界面和逻辑设计.. 82

第4章  调用百度API应用——小小翻译器.. 84

4.1  小小翻译器功能介绍.. 84

4.2  程序设计的思路.. 84

4.3  关键技术.. 84

4.3.1  urllib库简介.. 84

4.3.2  urllib库的基本使用.. 85

4.4  程序设计的步骤.. 90

4.4.1  设计界面.. 90

4.4.2  使用百度翻译开放平台API 91

第5章  爬虫应用——校园网搜索引擎.. 95

5.1  校园网搜索引擎功能分析.. 95

5.2  校园网搜索引擎系统设计.. 95

5.3  关键技术.. 97

5.3.1  正则表达式.. 97

5.3.2  中文分词.. 103

5.3.3  安装和使用jieba 103

5.3.4  jieba添加自定义词典.. 104

5.3.5  文本分类的关键词提取.. 105

5.3.6  deque(双向队列).. 106

5.4  程序设计的步骤.. 107

5.4.1  信息采集模块——网络爬虫实现.. 107

5.4.2  索引模块——建立倒排词表.. 110

5.4.3  网页排名和搜索模块.. 112

第6章  爬虫应用——抓取百度图片.. 116

6.1  程序功能介绍.. 116

6.2  程序设计的思路.. 116

6.3  关键技术.. 116

6.3.1  图片文件下载到本地.. 116

6.3.2  爬取指定网页中的图片.. 117

6.3.3  BeautifulSoup库概述.. 118

6.3.4  BeautifulSoup库操作解析HTML文档树.. 121

6.3.5  BeautifulSoup库和requests库的使用.. 124

6.4  程序设计的步骤.. 132

6.4.1  分析网页源代码和网页结构.. 132

6.4.2  设计代码.. 135

第7章  微信库ITchat应用——微信机器人.. 138

7.1  微信机器人ITchat功能介绍.. 138

7.2  程序设计的思路.. 138

7.3  关键技术.. 139

7.3.1  安装itchat 139

7.3.2  itchat的登陆微信.. 139

7.3.3  itchat的消息类型.. 139

7.3.4  itchat回复消息.. 142

7.3.5  itchat获取账号.. 143

7.3.6  itchat的一些简单应用.. 145

7.3.7  Python调用图灵机器人API实现简单的人机交互.. 148

7.4  程序设计的步骤.. 150

7.5  开发消息同步机器人.. 151

第8章  微信网页版协议应用——微信机器人.. 154

8.1  微信网页版机器人功能介绍.. 154

8.2  微信网页版机器人设计思路.. 154

8.2.1分析微信网页版API 154

8.2.2  API汇总.. 157

8.2.3  其他说明.. 164

8.3 程序设计步骤.. 166

8.3.1 微信网页版运行流程.. 166

8.3.2程序目录.. 167

8.3.3 微信网页版运行代码实现.. 167

8.4 扩展功能.. 171

8.4.1 自动回复.. 171

8.4.2 群发消息、定时发送消息、好友状态检测.. 173

8.4.3 自动邀请好友加入群聊.. 175

第9章  图像处理——生成二维码和验证码.. 178

9.1  二维码介绍.. 178

9.2  二维码生成和解析关键技术.. 179

9.2.1  qrcode库(模块)的使用.. 179

9.2.2  PIL 库的使用.. 181

9.3  二维码生成和解析程序设计的步骤.. 184

9.3.1  生成带有图标的二维码.. 184

9.3.2  Python解析二维码图片.. 185

9.4  用Python生成验证码图片.. 186

第10章  益智游戏——连连看游戏.. 189

10.1  连连看游戏介绍.. 189

10.2  程序设计的思路.. 190

10.3  关键技术.. 201

10.3.1  图形绘制——Tinker 的Canvas画布组件.. 201

10.3.2  Canvas上的图形对象.. 201

10.3  程序设计的步骤.. 210

第11章  益智游戏——推箱子游戏.. 216

11.1  推箱子游戏介绍.. 216

11.2  程序设计的思路.. 216

11.3  关键技术.. 218

11.4  程序设计的步骤.. 219

第12章  娱乐游戏——两人麻将游戏.. 225

12.1  麻将游戏介绍.. 225

12.2  两人麻将游戏设计的思路.. 226

12.2.1 素材图片.. 226

12.2.2 游戏逻辑实现.. 227

12.2.3 碰吃牌判断.. 227

12.2.4 胡牌算法.. 228

12.2.5 实现电脑智能出牌.. 232

12.3  关键技术.. 234

12.3.1  声音播放.. 234

12.3.2  返回对应位置的组件.. 234

12.3.3  对保存麻将牌的列表排序.. 235

12.4  两人麻将游戏设计的步骤.. 236

12.4.1  麻将牌类设计.. 236

12.4.2  设计游戏主程序.. 238

第13章 网络编程案例——基于TCP在线聊天程序.. 249

13.1  基于TCP在线聊天程序简介.. 249

13.2  关键技术.. 249

13.2.1  互联网TCP/IP协议.. 249

13.2.2  IP协议和端口.. 250

13.2.3  TCP和UDP协议.. 251

13.2.4  Socket 251

13.2.5  多线程编程.. 256

13.3  在线聊天程序设计的步骤.. 258

13.3.1  在线聊天程序服务器端.. 258

13.3.2  在线聊天程序客户端.. 261

第14章 网络通讯案例——基于UDP的网络五子棋.. 266

14.1  网络五子棋游戏简介.. 266

14.2  五子棋设计思想.. 267

14.3  关键技术.. 270

14.3.1  UDP编程.. 270

14.3.2  自定义网络五子棋游戏通讯协议.. 272

14.4  网络五子棋程序设计的步骤.. 274

14.4.1  服务器端程序设计的步骤.. 274

14.4.2  客户端程序设计的步骤.. 280

第15章  益智游戏——中国象棋.. 285

15.1  中国象棋介绍.. 285

15.2  关键技术.. 286

15.3  中国象棋设计思路.. 287

15.4  中国象棋实现的步骤.. 291

第16章  娱乐游戏——人物拼图游戏.. 302

16.1  人物拼图游戏介绍.. 302

16.2  程序设计的思路.. 302

16.3  关键技术.. 303

16.3.1  Python图像处理类库(PIL).. 303

16.3.2  复制和粘贴图像区域.. 305

16.3.3  调整尺寸和旋转.. 305

16.3.4  转换成灰度图像.. 306

16.3.5  对像素进行操作.. 306

16.4  程序设计的步骤.. 307

16.4.1  Python处理图片切割.. 307

16.4.2  游戏逻辑实现.. 308

第17章  基于Pygame游戏设计.. 313

17.1  Pygame基础知识.. 313

17.1.1  安装Pygame库.. 313

17.1.2  Pygame的模块.. 313

17.2  Pygame的使用.. 316

17.2.1  Pygame开发游戏的主要流程.. 316

17.2.2  Pygame的图像图形绘制.. 318

17.2.3  Pygame的键盘和鼠标事件的处理.. 321

17.2.4  Pygame的字体使用.. 325

17.2.5  Pygame的声音播放.. 326

17.2.6  Pygame的精灵使用.. 327

17.3  基于Pygame设计贪吃蛇游戏.. 333

17.4  基于Pygame设计飞机大战游戏.. 339

17.4.1  游戏角色.. 340

17.4.2  游戏界面显示.. 342

17.4.3  游戏逻辑实现.. 345

第18章 机器学习案例——基于朴素贝叶斯算法的文本分类.. 350

18.1  文本分类功能介绍.. 350

18.2  程序设计思路.. 350

18.3  关键技术.. 351

18.3.1贝叶斯算法的理论基础.. 351

18.3.2 朴素贝叶斯分类.. 353

18.3.3 使用Python进行文本分类.. 355

18.4 程序设计的步骤.. 355

18.4.1 收集训练数据.. 355

18.4.2 准备数据.. 356

18.4.3 分析数据.. 356

18.4.4 训练算法.. 357

18.4.5 测试算法并改进.. 360

18.4.6 使用算法进行文本分类.. 361

18.5 使用朴素贝叶斯分类算法过滤垃圾邮件.. 362

18.5.1 收集训练数据.. 362

18.5.2 将文本文件解析为词向量.. 362

18.5.3 使用朴素贝叶斯算法进行邮件分类.. 364

18.5.4 改进算法.. 366

18.6 使用Scikit-Learn库进行文本分类.. 366

18.6.1 文本分类常用的类和函数.. 367

18.6.2 案例实现.. 370

第19章  深度学习案例——基于卷积神经网络的手写体识别.. 372

19.1  手写体识别案例需求.. 372

19.2  深度学习的概念及关键技术.. 372

19.2.1  神经网络模型.. 372

19.2.2  深度学习之卷积神经网络(CNN).. 373

19.3  Python深度学习库——Keras 377

19.3.1 Keras安装.. 377

19.3.2 Keras的网络层.. 378

19.3.3 用Keras构建神经网络.. 381

19.4  程序设计的思路.. 382

19.5  程序设计的步骤.. 383

19.5.1 MNIST数据集.. 383

19.5.2 手写体识别案例实现.. 383

19.5.3 预测自己手写图像.. 387

第20章  词云实战——爬取豆瓣影评生成词云.. 389

20.1  功能介绍.. 389

20.2  程序设计的思路.. 389

20.3  关键技术.. 390

20.3.1  安装WordCloud词云.. 390

20.3.2  使用WordCloud词云.. 391

20.4  程序设计的步骤.. 395

参考文献   403

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值