本书由资深人工智能工程师专门针对Python新手量身定做,涵盖Python 3.8 实际开发的重要知识点,内容包括:Python语言的数据类型、运算符、数据结构、字符串、控制流、函数、序列、多线程、正则表达式、面向对象编程、文件操作、网络编程、邮件收发、数据库操作等,提供网络爬虫、自然语言处理、区块链项目和图片处理项目范例,各章还安排了调试、问题解答、温故知新、牛刀小试等特色内容,以帮助读者学会处理程序异常、解答学习困惑,巩固知识,学以致用。
本书通俗易懂,示例丰富,代码可读性及可操作性强,非常适合Python初学者、想学习和了解Python 3.8的程序员使用,也可作为Python网课、培训及大专院校的教学用书。
目 录
第1章 走进Python 3.8的精彩世界 1
1.1 Python的起源 1
1.2 Python的应用场合 2
1.3 从2.7到3.8,Python的新特性 4
1.3.1 Python 2.x和Python 3.x的区别 4
1.3.2 Python 3.8的新特性 6
1.4 如何学习Python 6
1.5 Python开发环境构建 7
1.5.1 在Windows系统中安装Python 7
1.5.2 在Linux、UNIX系统和Mac中
安装Python 11
1.5.3 其他版本 12
1.6 从Hello World开始 12
1.7 调试 13
1.8 问题解答 14
1.9 温故知新,学以致用 14
第2章 Python编程基础 16
2.1 认识程序 16
2.1.1 程序 16
2.1.2 调试 17
2.1.3 语法错误——南辕北辙 18
2.1.4 运行错误——突然的停止 18
2.1.5 语义错误——答非所问 18
2.2 数据类型 19
2.2.1 整型 19
2.2.2 浮点型 21
2.2.3 复数 22
2.2.4 数据类型转换 22
2.2.5 常量 23
2.3 变量和关键字 24
2.3.1 变量 24
2.3.2 变量名称 27
2.3.3 Python关键字 28
2.4 语句 29
2.5 表达式 30
2.6 运算符和操作对象 31
2.6.1 什么是运算符和操作对象 31
2.6.2 算术运算符 32
2.6.3 比较运算符 33
2.6.4 赋值运算符 34
2.6.5 位运算符 35
2.6.6 逻辑运算符 36
2.6.7 成员运算符 37
2.6.8 身份运算符 37
2.6.9 运算符的优先级 38
2.7 字符串操作 40
2.8 注释 43
2.9 牛刀小试——九九乘法表逆实现 44
2.10 调试 44
2.11 问题解答 45
2.12 温故知新,学以致用 45
第3章 列表和元组 47
3.1 通用序列操作 48
3.1.1 索引 48
3.1.2 分片 50
3.1.3 序列相加 54
3.1.4 乘法 54
3.1.5 成员资格 55
3.1.6 长度、最小值和最大值 56
3.2 列表 57
3.2.1 更新列表 57
3.2.2 嵌套列表 63
3.2.3 列表方法 64
3.3 元组 73
3.3.1 tuple函数 74
3.3.2 元组的基本操作 74
3.3.3 元组内置函数 76
3.4 列表与元组的区别 77
3.5 牛刀小试——实现杨辉三角 78
3.6 调试 79
3.7 问题解答 81
3.8 温故知新,学以致用 81
第4章 字符串 83
4.1 字符串的简单操作 83
4.2 字符串格式化 85
4.2.1 经典的字符串格式化符号——
百分号(%) 85
4.2.2 元组的字符串格式化 87
4.2.3 format字符串格式化 90
4.2.4 f字符串格式化 90
4.2.5 f-string字符串格式化 91
4.3 字符串方法 92
4.3.1 split()方法 92
4.3.2 strip()方法 93
4.3.3 join()方法 93
4.3.4 find()方法 94
4.3.5 lower()方法 95
4.3.6 upper()方法 96
4.3.7 replace()方法 97
4.3.8 swapcase()方法 97
4.3.9 translate()方法 98
4.4 牛刀小试——变形金刚 99
4.5 调试 99
4.6 问题解答 100
4.7 温故知新,学以致用 100
第5章 字典和集合 102
5.1 字典的使用 102
5.2 创建和使用字典 103
5.2.1 dict函数 104
5.2.2 字典的基本操作 105
5.2.3 字典和列表比较 107
5.3 字典方法 108
5.3.1 get()方法 108
5.3.2 keys()方法 109
5.3.3 values()方法 109
5.3.4 key in dict方法 110
5.3.5 update()方法 110
5.3.6 clear()方法 111
5.3.7 copy()方法 112
5.3.8 fromkeys()方法 112
5.3.9 items()方法 113
5.3.10 setdefault()方法 113
5.4 集合 114
5.4.1 创建集合 115
5.4.2 集合方法 116
5.5 牛刀小试——字典合并与排序 117
5.6 调试 118
5.7 问题解答 118
5.8 温故知新,学以致用 119
第6章 条件、循环和其他语句 120
6.1 使用文本编辑器 120
6.2 import的使用 122
6.2.1 import语句 122
6.2.2 使用逗号输出 125
6.3 别样的赋值 125
6.3.1 序列解包 126
6.3.2 链式赋值 127
6.3.3 增量赋值 127
6.4 语句块 128
6.5 条件语句 128
6.5.1 布尔变量的作用 128
6.5.2 if语句 130
6.5.3 else子句 131
6.5.4 elif子句 131
6.5.5 嵌套代码块 132
6.5.6 更多操作 132
6.5.7 断言 135
6.6 循环 135
6.6.1 while循环 136
6.6.2 for循环 137
6.6.3 循环遍历字典元素 139
6.6.4 迭代工具 139
6.6.5 跳出循环 141
6.6.6 循环中的else子句 143
6.7 pass语句 144
6.8 牛刀小试——猜字游戏编写 145
6.9 Python程序调试 146
6.10 问题解答 146
6.11 温故知新,学以致用 147
第7章 函数 148
7.1 调用函数 148
7.2 定义函数 150
7.3 函数的参数 152
7.3.1 必须参数 153
7.3.2 关键字参数 153
7.3.3 默认参数 154
7.3.4 可变参数 157
7.3.5 组合参数 158
7.3.6 仅通过位置指定的参数 159
7.4 执行流程 160
7.5 形参和实参 161
7.6 变量的作用域 162
7.6.1 局部变量 162
7.6.2 全局变量 164
7.7 有返回值和无返回值函数 166
7.8 为什么要引入函数 167
7.9 返回函数 167
7.10 递归函数 170
7.11 匿名函数 172
7.12 偏函数 174
7.13 牛刀小试——经典排序之快速排序
实现 175
7.14 调试 176
7.15 问题解答 177
7.16 温故知新,学以致用 177
第8章 面向对象编程 179
8.1 理解面向对象 179
8.1.1 什么是面向对象编程 179
8.1.2 面向对象编程常用术语 180
8.2 类的定义与使用 180
8.2.1 类的定义 180
8.2.2 类的使用 181
8.3 深入类 182
8.3.1 类的构造方法 182
8.3.2 类的访问权限 185
8.4 继承 190
8.5 多态 193
8.6 封装 196
8.7 多重继承 197
8.8 获取对象信息 199
8.9 类的专有方法 201
8.10 牛刀小试一——出行建议 205
8.11 牛刀小试二——判断一棵树是否为
二叉搜索树 207
8.12 调试 208
8.13 问题解答 209
8.14 温故知新,学以致用 209
第9章 异常 211
9.1 什么是异常 211
9.2 异常处理 212
9.3 抛出异常 213
9.4 捕捉多个异常 214
9.5 使用一个块捕捉多个异常 215
9.6 捕捉对象 216
9.7 全捕捉 216
9.8 异常中的else 217
9.9 自定义异常 218
9.10 finally子句 219
9.11 异常和函数 220
9.12 牛刀小试——正常数和异常数 221
9.13 bug的由来 222
9.14 温故知新,学以致用 223