本书用于Python 3.10编程快速入门,书中内容注重实战操作,能帮助读者循序渐进地掌握Python开发中的各项技术。本书配套示例源代码、PPT课件、同步教学视频、习题与答案、教学大纲与执行计划表、作者答疑服务以及其他超值教学资源。 本书共分19章,内容包括Python的基本概念、开发环境安装与配置、Python的基础语法、数据类型和运算符、程序流程控制、容器类型的数据、字符串的应用、函数、类与对象、异常处理、常用的内置模块、文件读写、图形用户界面、网络通信与网络爬虫、访问数据库、多线程、弹球游戏案例、网络爬虫案例、大数据分析案例、数据挖掘案例。 本书适合Python初学者、使用Python做开发的各类技术人员,也适合作为高等院校和培训机构计算机软件、大数据、人工智能等专业的教材。
本书用于Python 3.10编程快速入门,书中内容注重实战操作,可以帮助读者循序渐进地掌握Python编程技术,并为深入学习Web开发、网络爬虫、游戏开发、自动化运维、大数据分析与挖掘、人工智能、云计算等打下牢固的基础。
Python语言广泛应用于Web开发、网络爬虫、游戏开发、自动化运维、大数据分析与挖掘、人工智能、云计算等技术领域,各大知名企业均高薪招聘技术能力强的Python开发人员。为满足这样的需求,本书以Python 3.10为基础,通过实例的操作与分析,引领读者快速学习和掌握Python编程。
本书内容
本书共分19章。内容包括Python基础知识、Python开发环境、Python基本语法、基本数据类型和运算符、容器类型的数据、字符串的常用操作、函数、面向对象编程、异常处理和程序调试、常用的内置模块、文件操作、图形用户界面tkinter、网络编程与网络爬虫、数据库访问、多线程、游戏开发案例、网络爬虫案例、大数据分析案例、数据挖掘案例。
本书特色
内容全面:知识点由浅入深,涵盖Python程序语言的基础知识,循序渐进地讲解Python程序开发技术。
图文并茂:注重Python应用实例的操作,在介绍案例的过程中,每一个操作均有对应的步骤和过程说明。这种图文结合的方式使读者在学习过程中能够直观、清晰地看到操作的过程以及效果,便于读者更快地理解和掌握。
易学易用:颠覆传统看书的观念,把本书变成一本能操作的图书。
案例丰富:把知识点融汇于系统的案例实训当中,并且结合综合案例进行讲解和拓展,进而使读者知其然,并知其所以然。
提示技巧:本书对读者在学习过程中可能会遇到的疑难问题以提示和技巧的形式进行说明,以免读者在学习的过程中走弯路。
超值资源:本书赠送示例源代码、PPT课件、同步教学视频、习题与答案、教学大纲与执行进度表、30个热门项目源代码、面试资源库和求职资源库。
技术支持:本书以Python最佳的学习模式来设置内容结构。遇到问题可观看本书同步教学视频,也可以通过在线技术支持让有经验的程序员为你答疑解惑(作者答疑服务)。本书技术支持信息请查阅下载资源中的相关文件。
示例源代码、PPT课件、同步教学视频等资源下载
本书配套示例源代码、PPT课件、同步教学视频、习题与答案、教学大纲与执行计划表以及其他超值教学资源,需要用微信扫描下面的二维码获取。如果发现问题或者有任何建议,可通过邮件与作者联系,电子邮箱为booksaga@163.com,邮件主题写Python编程从零开始学(视频教学版)。
读者对象
Python程序开发初学者。
各领域Python程序开发人员。
高等院校和培训机构的师生。
鸣 谢
本书由王英英主编,参与编写的还有张工厂、刘增杰、胡同夫、刘玉萍、刘玉红。本书的编写虽然倾注了编者的心血,但由于水平有限、时间仓促,书中难免有疏漏之处,欢迎批评指正。如果遇到问题或有好的建议,敬请与我们联系,我们将全力提供帮助。
编 者
2023年1月
王英英,从事Web应用开发多年,精通多种编程语言,对数据库技术有深入研究。在Python编程、数据库开发方面有着丰富的经验,并已出版过多本相关畅销书,受广大读者熟悉和认可。畅销书有《MySQL 5.7从零开始学(视频教学版)》《MySQL8从入门到精通(视频教学版)》等。
第1章 进入Python的精彩世界 1
1.1 Python简介 1
1.2 Python语言的优点 2
1.3 搭建Python的开发环境 2
1.4 编写和运行Python程序 4
1.4.1 交互方式 4
1.4.2 PyCharm方式 5
第2章 Python的基础语法 7
2.1 标识符与关键字 7
2.2 变量 8
2.3 程序结构 9
2.3.1 缩进分层 9
2.3.2 换行问题 10
2.3.3 代码注释 10
2.4 Python的输入和输出 11
2.4.1 接收键盘输入 11
2.4.2 输出处理结果 12
2.5 认识模块 13
第3章 基本数据类型和运算符 15
3.1 基本数据类型 15
3.1.1 数字类型 15
3.1.2 字符串类型 17
3.1.3 数据类型的相互转换 18
3.2 运算符和优先级 20
3.2.1 算术运算符 20
3.2.2 比较运算符 21
3.2.3 赋值运算符 22
3.2.4 逻辑运算符 23
3.2.5 位运算符 24
3.2.6 成员运算符 25
3.2.7 身份运算符 26
3.2.8 运算符的优先级 26
3.3 赋值表达式 28
第4章 程序流程控制 30
4.1 程序流程概述 30
4.2 顺序结构 32
4.3 选择结构与语句 32
4.3.1 选择结构 33
4.3.2 if语句 33
4.3.3 if嵌套 34
4.3.4 多重条件判断 35
4.4 循环控制语句 36
4.4.1 while语句 36
4.4.2 for语句 38
4.4.3 continue语句和else语句 39
4.4.4 pass语句 40
第5章 容器类型的数据 41
5.1 认识序列 41
5.1.1 索引 41
5.1.2 切片 42
5.1.3 序列相加 42
5.1.4 序列相乘 42
5.1.5 检查序列中的成员 43
5.2 集合类型 43
5.2.1 认识集合类型 43
5.2.2 集合类型的常见操作 44
5.3 列表类型 45
5.3.1 认识列表类型 45
5.3.2 列表的常见操作 46
5.3.3 内置的函数和方法 47
5.4 元组类型 51
5.4.1 认识元组类型 51
5.4.2 元组的常用操作 51
5.4.3 元组的内置函数 52
5.5 字典类型 54
5.5.1 认识字典类型 54
5.5.2 字典的常用操作 54
5.5.3 字典的内置函数和方法 55
第6章 字符串的应用 58
6.1 字符串的常用操作 58
6.1.1 访问字符串中的值 58
6.1.2 分割指定范围的字符 59
6.1.3 更新字符串 59
6.1.4 使用转义字符 60
6.2 熟练使用字符串运算符 61
6.3 格式化字符串 62
6.4 内置的字符串方法 64
6.4.1 capitalize()方法 64
6.4.2 count()方法 64
6.4.3 find()方法 65
6.4.4 index()方法 65
6.4.5 isalnum()方法 66
6.4.6 join()方法 66
6.4.7 isalpha()方法 66
6.4.8 isdigit()方法 67
6.4.9 low()方法 67
6.4.10 max()方法 68
6.4.11 min()方法 68
6.4.12 replace()方法 68
6.4.13 swapcase()方法 69
6.4.14 title()方法 69
第7章 函数 71
7.1 使用函数的优势 71
7.2 定义函数 72
7.3 函数的参数 72
7.3.1 必需参数 73
7.3.2 关键字参数 73
7.3.3 默认参数 74
7.3.4 可变参数 74
7.4 有返回值的函数和无返回值的函数 76
7.5 形参和实参 77
7.6 变量作用域 78
7.7 返回函数 79
7.8 递归函数 82
7.8.1 使用递归函数 82
7.8.2 利用递归函数解决汉诺塔问题 83
7.8.3 防止栈溢出 84
7.9 匿名函数 85
7.10 偏函数 86
第8章 类与对象 88
8.1 理解面向对象程序设计 88
8.1.1 什么是对象 88
8.1.2 面向对象的特征 89
8.1.3 什么是类 90
8.2 类的定义 90
8.3 类的构造方法 91
8.4 创建对象 92
8.5 类的继承 94
8.6 类的多态 98
8.7 类的封装 99
8.8 垃圾回收机制 101
第9章 异常处理和程序调试 103
9.1 什么是异常 103
9.2 常见错误和异常 104
9.3 熟悉内置异常 107
9.4 使用try…except语句处理异常 112
9.5 全捕捉 114
9.6 异常中的else 115
9.7 异常中的pass 115
9.8 异常类的实例 116
9.9 清除异常 117
9.10 抛出异常 118
9.10.1 raise语句 118
9.10.2 结束解释器的运行 119
9.10.3 离开嵌套循环 120
9.11 自定义异常 120
9.12 程序调试 122
9.12.1 assert语句 122
9.12.2 __debug__内置变量 123
第10章 常用的内置模块 124
10.1 math模块 124
10.2 calendar模块 125
10.3 time模块 127
10.3.1 localtime([secs])函数 127
10.3.2 gmtime([secs])函数 127
10.3.3 mktime ([tuple ])函数 127
10.3.4 ctime([secs])函数 128
10.3.5 sleep(secs)函数 128
10.3.6 strptime(string [,format])函数 128
10.4 datetime模块 129
10.4.1 date类 129
10.4.2 time类 132
10.4.3 datetime类 133
10.4.4 timedelta类 136
10.4.5 tzinfo类 136
10.4.6 日期和时间的常用操作 137
10.5 re正则表达式模块 139
10.5.1 匹配字符串 139
10.5.2 替换字符串 141
10.5.3 分割字符串 142
第11章 文件读写 143
11.1 打开文件 143
11.2 关闭文件 145
11.3 读取文件 146
11.3.1 read()方法 146
11.3.2 readline()方法 147
11.3.3 readlines()方法 148
11.3.4 tell()方法 149
11.3.5 truncate()方法 149
11.3.6 seek()方法 150
11.4 写入文件 151
11.4.1 将字符串写入文件 151
11.4.2 写入多行 152
11.4.3 修改文件内容 152
11.4.4 附加到文件 153
11.5 刷新文件 153
11.6 复制文件 154
11.6.1 复制文本文件 154
11.6.2 复制二进制文件 154
第12章 图形用户界面 156
12.1 使用tkinter 156
12.2 认识tkinter的控件 157
12.3 布局控件的位置 159
12.3.1 pack()方法 159
12.3.2 grid()方法 161
12.3.3 place()方法 162
12.4 tkinter的事件 163
12.4.1 事件的属性 163
12.4.2 事件绑定方法 164
12.4.3 鼠标事件 164
12.4.4 键盘事件 165
12.5 Button控件 166
12.6 Canvas控件 167
12.7 Checkbutton控件 168
12.8 Entry控件 169
12.9 Label控件 170
12.10 Listbox控件 171
12.11 Menu控件 173
12.12 Message控件 175
12.13 Radiobutton控件 175
12.14 Scale控件 177
12.15 Scrollbar控件 178
12.16 Text控件 179
12.17 对话框 181
12.17.1 messagebox模块 182
12.17.2 filedialog模块 183
12.17.3 colorchooser模块 185
第13章 网络通信和网络爬虫 186
13.1 网络概要 186
13.2 socket模块 188
13.2.1 认识socket模块 188
13.2.2 创建socket连接 189
13.3 HTTP库 190
13.3.1 socketserver模块 191
13.3.2 server模块 192
13.3.3 client模块 194
13.4 urllib库 195
13.4.1 request模块 195
13.4.2 parse模块 197
13.5 什么是网络爬虫 198
13.6 网络爬虫的常用技术 198
13.6.1 网络请求技术 198
13.6.2 请求headers处理 200
13.6.3 网络超时问题 201
13.6.4 代理服务 202
13.7 Python解析XML 202
13.7.1 使用SAX解析XML 202
13.7.2 使用DOM解析XML 205
13.8 XDR数据交换格式 207
13.9 JSON数据解析 210
13.10 Python解析HTML 211
第14章 访问数据库 218
14.1 平面数据库 218
14.2 内置数据库SQLite 219
14.3 操作MySQL数据库 222
14.3.1 安装PyMySQL 222
14.3.2 连接MySQL数据库 223
14.3.3 创建数据表 223
14.3.4 插入数据 224
14.3.5 查询数据 225
14.3.6 更新数据 225
14.3.7 删除数据 226
14.4 防止SQL注入 227
第15章 多线程 228
15.1 线程的相关知识 228
15.1.1 进程 228
15.1.2 多线程 229
15.1.3 Python中的多线程 229
15.2 _thread模块 230
15.3 threading模块 231
15.4 线程同步 233
15.5 线程优先级队列 234
第16章 游戏开发案例开发弹球游戏 237
16.1 项目分析 237
16.2 弹球游戏中的算法 238
16.3 具体功能实现 238
16.4 项目测试 243
第17章 网络爬虫案例豆瓣电影评论的情感分析 245
17.1 项目分析 245
17.2 环境配置 246
17.3 具体功能实现 249
17.4 项目测试 252
第18章 大数据分析案例开发数据智能分类系统 254
18.1 项目分析 254
18.2 配置环境 255
18.3 具体功能实现 255
18.4 项目测试 259
第19章 数据挖掘案例话题模型和词云可视化 261
19.1 项目分析 261
19.2 配置环境 262
19.3 具体功能实现 263
19.4 项目测试 266