本书是指导零基础人员学习并运用 Python 进行编程的实用工具书,在编写过程中充分考虑了读者的理解能力和程序在生活中的应用场景,以基础语法与应用相结合作为一条主线来进行讲解,讲叙内容循序渐进,案例丰富翔实,并且全部来源于实际工作开发中。
本书分为入门篇、进阶篇和高级篇。入门篇注重基础知识的夯实,全方面说明语法的使用规则和实例,并进行系统性的分析,从而激发读者对编程语言的思考,拓展其编写能力。进阶篇概述了面向对象的编程思想,并详细说明了面向对象具有封装、继承、多态的特点。通过基础语法的集成实现队列(Queue)、栈(Stack)的数据结构,它们在程序运行中占据着非常重要位置。然后通过一定的逻辑处理关系集成语法实现冒泡、选择等多种排序算法来满足读者对于算法的好奇心。最后涉及的进程和线程等内容,可以作为高并发优化方案。高级篇通过网络编程实现本地与网络的连接通道,以及网络间的通信,再结合数据库对持久化数据的处理达到实现网络间数据共享的目的。然后,通过使用国人编写的框架pyspider 进行爬虫,以及使用 Django 和 Vue 框架创建 Web 项目。通过 wxpy 库实现 Python 操作微信发送消息等基础功能的开发,最后通过案例讲解当今热门应用微信小程序的开发。
本书适合零基础或基础薄弱,但又想快速掌握 Python 基础技能的读者学习和实践,也可作为编程开发人员提升 Python 技能水平和丰富实战经验的指导用书,同时还可作为广大职业院校、计算机培训班相关专业与技能的教学参考用书。
杨焓,高级软件开发工程师。长期从事软件系统开发、集成和数据分析工作,对多种编程语言和数据库有深入研究,积极探索人工智能在大数据集模型基础上对医学图像、语音识别领域等方面的应用。对物联网行业应用与开发有着丰富的经验,长期着手于程序和物品间网络通信开发,编写智能机器人算法和性能控制。
第1篇 入门篇
1.1初识Python 3
1.1.1 Python的由来 3
1.1.2 Python的应用领域 4
1.1.3 Python 2和Python 3的版本
区别 5
1.2 Python的安装 6
1.2.1 Windows系统的Python
安装 7
1.2.2 Linux系统的Python安装 14
1.3 Python编辑工具 17
1.3.1 Pycharm和Eclipse 18
1.3.2 工具的配置 22
思考与练习 26
常见异常与解析 26
本章小结 28
2.3.4 逻辑运算符 37
2.3.5 成员运算符 37
2.4 数据类型 38
2.4.1 基本数据类型 38
2.4.2 基本类型转换 39
思考与练习 40
常见异常与解析 41
本章小结 42
3.1 集合 44
3.1.1 创建和添加元素 44
3.1.2 删除集合 44
3.1.3 更新集合 45
3.1.4 集合逻辑运算 46
3.2 列表 46
3.2.1 序列与列表 46
3.2.2 列表基本操作 48
3.3 元组与字典 51
3.3.1 元组 52
3.3.2 字典 52
3.4 字符串 57
3.4.1 字符串基本操作 57
3.4.2 字符串常用操作 59
思考与练习 60
常见异常与解析 63
本章小结 64
4.1 条件语句 66
4.1.1 if...else语句 66
4.1.2 if...elif语句 67
4.1.3 嵌套条件语句 68
4.1.4 断言 69
4.1.5 类三目运算 69
4.2 循环语句 70
4.2.1 while循环 70
4.2.2 for循环 72
4.2.3 嵌套for循环 74
4.2.4 循环语句与条件语句 74
4.3 异常 75
4.3.1 异常介绍 75
4.3.2 捕获异常 75
4.3.3 自定义异常 76
思考与练习 77
常见异常与解析 79
本章小结 80
5.1 函数定义 82
5.1.1 函数的定义 82
5.1.2 可变参数和关键字参数 83
5.2 变量与函数 84
5.2.1 函数中的变量 84
5.2.2 私有函数与公开函数 85
5.3 装饰器 86
5.3.1 无参数装饰器 86
5.3.2 带参数装饰器 88
5.4 递归 90
5.4.1 递归出口 90
5.4.2 二分搜索 91
5.4.3 文件查找 91
5.5 匿名函数和高阶函数 92
5.5.1 匿名函数 92
5.5.2 map遍历函数 93
5.5.3 filter过滤函数 94
5.5.4 reduce复合函数 94
5.5.5 sorted排序函数 95
思考与练习 95
常见异常与解析 96
本章小结 98
6.1 re模块 100
6.1.1 常用符号 100
6.1.2 re模块操作 101
6.2 正则与页面爬取 103
6.2.1 requests库 103
6.2.2 爬取今日天气状况 105
思考与练习 106
常见异常与解析 107
本章小结 108
第2篇 进阶篇
7.1 面向对象编程 111
7.1.1 面向对象特性 111
7.1.2 类的成员 111
7.1.3 访问限制 111
7.2 特殊类的方法与函数 113
7.2.1 getter方法和setter方法 113
7.2.2 property函数 114
7.2.3 魔法函数 115
7.3 面向对象程序设计的特点 116
7.3.1 封装 116
7.3.2 继承 116
7.3.3 多态 117
7.4 特殊方法和反射 118
7.4.1 静态方法和类方法 118
7.4.2 反射 119
思考与练习 120
常见异常与解析 121
本章小结 122
8.1 队列和栈数据结构 124
8.1.1 队列 124
8.1.2 栈 125
8.2 排序算法 126
8.2.1 冒泡排序 127
8.2.2 插入排序 127
8.2.3 选择排序 128
思考与练习 128
常见异常与解析 129
本章小结 130
9.1 目录操作 132
9.1.1 创建目录 132
9.1.2 目录基本操作 132
9.2 文件 133
9.2.1 读/写文件 133
9.2.2 删除文件 135
9.2.3 用with语句打开文件 136
思考与练习 137
常见异常与解析 137
本章小结 138
10.1 进程 140
10.1.1 多进程 140
10.1.2 守护进程 142
10.2 线程 143
10.2.1 多线程 143
10.2.2 同步锁 146
10.2.3 守护线程 147
思考与练习 149
常见异常与解析 150
本章小结 152
第3篇 高级篇
11.1 网络编程概述 155
11.1.1 初识TCP/UDP协议 155
11.1.2 套接字简介 157
11.2 socket编程 158
11.3 I/O模式 159
11.3.1 阻塞I/O模式 160
11.3.2 非阻塞I/O模式 161
11.3.3 异步I/O模式 161
11.3.4 I/O复用模式 162
常见异常与解析 163
本章小结 164
12.1 MySQL安装 166
12.1.1 准备工作 166
12.1.2 安装 167
12.2 数据库的使用 171
12.2.1 数据库连接 171
12.2.2 数据库创建 173
12.2.3 数据库表的CRUD 175
12.2.4 事务的ACID特性 182
12.3 非关系型数据库 182
12.3.1 NoSQL的分类 182
12.3.2 Redis安装 183
12.3.3 持久化 185
常见异常与解析 187
本章小结 188
13.1 网页爬虫概述 190
13.1.1 初识爬虫 190
13.1.2 爬虫分类 190
13.2 网页爬取 191
13.2.1 安装pyspider 191
13.2.2 爬取爱动物网站 193
13.2.3 存储数据 197
13.2.4 状态选择 201
常见异常与解析 203
本章小结 206
14.1 常见设计模式 208
14.1.1 单例模式 208
14.1.2 简单工厂模式 211
14.1.3 工厂方法模式 212
14.2 Django 框架 214
14.2.1 初识Django框架 214
14.2.2 搭建Django项目 215
14.2.3 访问MySQL数据库 217
14.2.4 model模型 220
14.2.5 view视图 223
14.3 Web项目 225
14.3.1 项目准备 225
14.3.2 前后端分离 226
14.3.3 访问数据库 229
14.3.4 数据持久化 232
14.3.5 自定义中间件 235
14.3.6 禁止异地同时在线 237
14.3.7 假分页与真分页 240
14.3.8 退出 241
常见异常与解析 242
本章小结 246
15.1 wxpy库应用 248
15.1.1 登录微信 248
15.1.2 发送消息 250
15.2 微信小程序 251
15.2.1 准备工作 251
15.2.2 创建项目 251
15.2.3 建立连接 253
15.3 开发小程序 254
15.3.1 开发须知 254
15.3.2 登录页面 254
15.3.3 APP配置 256
15.4 数据处理 258
15.4.1 初始化数据 258
15.4.2 钩子函数 260
15.4.3 登录信息 261
15.4.4 音乐播放 262
15.4.5 热门电影 263
15.5 小程序调试设置说明 265
常见异常与解析 266
本章小结 268