第1章 如何入门Python编程 1
1.1 编程语言的选择 1
1.2 如何开始学习 1
1.3 学习Python的捷径 2
1.4 Python版本的选择 2
1.5 Python相关就业方面的选择 2
1.5.1 Web网页工程师方向 3
1.5.2 网络爬虫工程师方向 3
1.5.3 自动化运维方向 3
1.5.4 数据分析师方向 3
1.5.5 游戏开发方向 3
1.5.6 自动化测试方向 4
1.5.7 AI方向 4
1.6 注意事项 4
1.6.1 牢记搜索 4
1.6.2 学一点简单的英语 4
第2章 Python“三剑客”,你会用哪个 5
2.1 什么是Python“三剑客” 5
2.2 为Windows系统安装Python软件 6
2.2.1 下载地址 6
2.2.2 安装 6
2.2.3 开始使用 9
2.3 为macOS系统安装Python软件 10
2.4 PyCharm简介 11
2.4.1 下载地址 11
2.4.2 安装 12
2.4.3 开始使用 13
2.5 Anaconda简介 17
2.5.1 下载地址 18
2.5.2 安装 19
2.5.3 如何使用Anaconda 20
2.6 Jupyter Notebook简介 23
2.6.1 Jupyter Notebook是什么 23
2.6.2 安装 24
2.6.3 启动 24
2.6.4 创建文件 25
2.6.5 如何写代码 26
第3章 夯实Python基础,为进阶做准备 27
3.1 第一次写代码 27
3.2 数据——程序的原材料 28
3.3 学会写注释,方便你我他 28
3.4 常量与变量 29
3.4.1 变量命名规则 30
3.4.2 变量命名方法 30
3.5 数字类型 31
3.5.1 整数 31
3.5.2 浮点数 32
3.6 布尔类型 34
3.7 字符串类型 35
3.7.1 什么是字符串 35
3.7.2 字符串的基本用法 36
3.7.3 字符串的常见运算 36
3.7.4 字符串的切片 38
3.7.5 各种类型之间的转换 39
第4章 Python数据结构原来并不难 41
4.1 什么是数据结构 41
4.2 列表 41
4.2.1 什么是列表 41
4.2.2 列表的基本操作 42
4.2.3 列表的高级用法 49
4.3 元组 52
4.3.1 创建元组 52
4.3.2 修改元组 54
4.3.3 元组拆包 55
4.3.4 元组方法 58
4.3.5 元组与列表的区别 58
4.4 项目练习:用列表创建《延禧攻略》之魏璎珞宴请名单 59
4.4.1 描述项目 59
4.4.2 解析项目 60
4.4.3 实现功能 60
4.5 字典 65
4.5.1 什么是字典 65
4.5.2 字典特性 65
4.5.3 字典的基本操作 66
4.5.4 内置字典函数与方法 70
4.6 结合字典与列表 72
4.6.1 字典列表 72
4.6.2 在字典中存储列表 72
4.6.3 在字典中存储字典 73
4.7 项目练习:用字典管理电视剧《扶摇》的演员信息 73
4.7.1 描述项目 73
4.7.2 解析项目 74
4.7.3 实现功能 75
第5章 Python控制结构,厉害了 80
5.1 Python运算符与表达式 80
5.1.1 算术运算符 80
5.1.2 比较(关系)运算符 81
5.1.3 赋值运算符 82
5.1.4 位运算符 83
5.1.5 逻辑运算符 84
5.1.6 成员运算符 85
5.1.7 身份运算符 86
5.1.8 浅拷贝与深拷贝 89
5.1.9 运算符优先级 91
5.2 Python的三大控制结构 93
5.3 顺序结构 93
5.4 分支结构 94
5.5 循环结构 97
5.6 for循环 98
5.6.1 for循环与列表 99
5.6.2 for循环与字典 102
5.6.3 嵌套for循环 103
5.6.4 项目练习:运用for循环生成九九乘法表 104
5.7 列表解析式 105
5.7.1 概念 105
5.7.2 指定if条件的列表解析式 106
5.7.3 无条件的列表解析式 109
5.7.4 嵌套循环的列表解析式 109
5.7.5 字典解析式 111
5.8 while循环 114
5.8.1 用户输入 115
5.8.2 break与continue语句 115
5.8.3 使用while循环操作列表和字典 116
5.9 项目练习:运用Python控制结构创建通讯录 118
5.9.1 描述项目 118
5.9.2 解析项目 118
5.9.3 实现4个功能 119
第6章 Python函数,给你不一样的介绍 122
6.1 什么是函数 122
6.1.1 为什么要用函数 123
6.1.2 如何定义函数 124
6.1.3 如何调用函数 125
6.2 如何传递参数 126
6.2.1 传递实参 127
6.2.2 传递数据结构 130
6.3 返回值 131
6.3.1 return语句 131
6.3.2 返回多个值 133
6.4 函数是对象 136
6.4.1 第一类对象 136
6.4.2 函数赋值给变量 136
6.4.3 嵌套函数 138
6.4.4 函数作为参数 140
6.4.5 将函数放在容器中 143
6.4.6 函数作为返回值 145
6.5 盒子的秘密 148
6.5.1 LEGB作用域 148
6.5.2 关键字global 150
6.5.3 关键字nonlocal 153
6.6 闭包 156
6.6.1 概念 156
6.6.2 closure属性 159
6.6.3 为什么使用闭包 160
6.7 三大“神器”之装饰器 162
6.7.1 概念 162
6.7.2 装饰带有参数的函数 166
6.7.3 多个装饰器 169
6.7.4 项目练习:使用装饰器为函数添加计时功能 171
6.8 三大“神器”之迭代器 174
6.9 三大“神器”之生成器 177
6.9.1 生成器表达式 177
6.9.2 关键字yield 179
6.10 匿名函数 182
6.10.1 概念 182
6.10.2 匿名函数的使用场景 183
6.10.3 柯里化 185
6.11 将函数存储在模块中 186
6.12 如何设计函数 188
6.13 项目练习:运用函数创建自动化管理文件 188
6.13.1 项目描述 188
6.13.2 项目拆解 188
6.13.3 主程序 189
6.13.4 实现管理功能 190
第7章 Python面向对象,简单易懂 194
7.1 程序设计方法 194
7.2 面向对象程序设计中的概念 195
7.3 如何定义类 195
7.3.1 创建类 195
7.3.2 创建对象 197
7.4 继承 199
7.5 导入类 201
7.6 Python库 203
7.7 类编码风格 203
7.8 项目练习:运用面向对象程序设计方法设计餐馆系统 203
7.8.1 项目概述 203
7.8.2 项目解析 204
7.8.3 源代码实现 204
第8章 Python项目实战 208
8.1 项目实战1:运用第三方库设计微信聊天机器人 208
8.1.1 项目目的 208
8.1.2 Wxpy库介绍 208
8.1.3 指定聊天对象 211
8.1.4 聊天机器人 212
8.2 项目实战2:开发简化版《阴阳师》游戏 213
8.2.1 项目描述 213
8.2.2 项目解析 213
8.2.3 欢迎界面 213
8.2.4 设计游戏人物 215
8.2.5 介绍游戏场景 219
8.2.6 开始游戏 221
8.2.7 判断是否进入下一轮 224
8.2.8 项目总结 224