图书目录

目 录 | CONTENTS

第1章  搭建Python开发环境 001

1.1 Python概述 001

1.2 如何选择Python的版本 002

1.3 搭建Python的编程环境 002

1.3.1 在Windows下安装Python 002

1.3.2 在Linux下安装Python 003

1.4 第一行人工智能代码 004

1.5 选择Python开发工具 005

1.5.1 Python自带的IDLE 005

1.5.2 第三方开发工具PyCharm 006

1.6 新手疑难问题解答 007

1.7 实战训练 008

第2章  成为大牛前的必备知识 009

2.1 Python的语法特点 009

2.1.1 代码注释 009

2.1.2 代码缩进 010

2.1.3 编码规范 010

2.1.4 换行问题 011

2.2 标识符与保留字 012

2.3 变量 012

2.4 基本数据类型 014

2.4.1 数字类型 014

2.4.2 字符串类型 016

2.4.3 数据类型的相互转换 017

2.5 运算符和优先级 018

2.5.1 算术运算符 018

2.5.2 比较运算符 019

2.5.3 赋值运算符 019

2.5.4 逻辑运算符 020

2.5.5 位运算符 021

2.5.6 成员运算符 022

2.5.7 身份运算符 022

2.5.8 运算符的优先级 023

2.6 Python的输入和输出 025

2.6.1 input()函数 025

2.6.2 print ()函数 025

2.7 新手疑难问题解答 027

2.8 实战训练 027

第3章  程序的控制结构 029

3.1 程序结构 029

3.2 选择结构与语句 030

3.2.1 最简单的if语句 030

3.2.2 if…else语句 030

3.2.3 if嵌套 032

3.2.4 多重条件判断 032

3.3 布尔表达式 033

3.4 循环控制语句 034

3.4.1 while语句 035

3.4.2 for语句 036

3.4.3 continue语句和else语句 037

3.4.4 pass语句 038

3.5 新手疑难问题解答 038

3.6 实战训练 040

第4章  序列的应用技能 041

4.1 认识序列 041

4.1.1 索引 041

4.1.2 切片 042

4.1.3 序列相加 042

4.1.4 序列相乘 042

4.1.5 检查序列中的成员 042

4.2 集合类型 043

4.2.1 认识集合类型 043

4.2.2 集合类型的常见操作 043

4.3 列表类型 045

4.3.1 认识列表类型 045

4.3.2 列表的常见操作 046

4.3.3 列表的内置函数和方法 046

4.4 元组类型 050

4.4.1 认识元组 050

4.4.2 元组的常用操作 050

4.4.3 元组的内置函数 051

4.5 字典类型 052

4.5.1 认识字典类型 052

4.5.2 字典的常用操作 053

4.5.3 字典的内置函数和方法 053

4.6 新手疑难问题解答 055

4.7 实战训练 056

第5章  字符串与正则表达式 057

5.1 字符串的常用操作 057

5.1.1 拼接字符串 057

5.1.2 计算字符串的长度 058

5.1.3 截取字符串 058

5.1.4 分割和合并字符串 059

5.1.5 检索字符串 060

5.1.6 字母的大小写转换 062

5.1.7 删除字符串中的空格和特殊字符 062

5.1.8 使用Python的转义字符 063

5.2 字符串的编码转换 065

5.3 正则表达式和re模块 066

5.3.1 正则表达式的特定字符 066

5.3.2 re模块的方法 067

5.4 格式化字符串 070

5.5 新手疑难问题解答 071

5.6 实战训练 072

第6章  精通函数 073

6.1 创建和调用函数 073

6.1.1 创建函数 073

6.1.2 调用函数 074

6.2 参数传递 074

6.2.1 形参和实参 074

6.2.2 必需参数 076

6.2.3 关键字参数 077

6.2.4 默认参数 077

6.2.5 可变参数 078

6.3 返回值 079

6.4 变量作用域 080

6.5 匿名函数 081

6.6 新手疑难问题解答 081

6.7 实战训练 082

第7章  面向对象程序设计 084

7.1 认识面向对象 084

7.1.1 什么是对象 084

7.1.2 面向对象的特点 085

7.1.3 什么是类 086

7.2 定义类 086

7.3 类的构造方法和内置属性 086

7.4 类例 088

7.4.1 创建类例 088

7.4.2 类例的内置属性 090

7.5 类的继承 090

7.6 类的多态 093

7.7 类的封装 095

7.8 Python的优势—垃圾回收机制 096

7.9 新手疑难问题解答 097

7.10 实战训练 098

第8章  模块和包 099

8.1 模块概述 099

8.2 自定义模块 099

8.2.1 创建模块 100

8.2.2 使用import语句导入模块 100

8.2.3 模块搜索目录 101

8.3 以主程序的形式执行 104

8.4 Python中的包 105

8.4.1 Python程序的包结构 105

8.4.2 创建包 105

8.4.3 使用包 105

8.5 引用其他模块 106

8.5.1 导入和使用标准模块 107

8.5.2 下载和安装第三方模块 108

8.6 将模块制作成安装包 111

8.7 新手疑难问题解答 112

8.8 实战训练 113

第9章  异常处理和程序调试 115

9.1 异常概述 115

9.2 使用语句处理异常 116

9.2.1 try…except语句 117

9.2.2 try…except…else语句 118

9.2.3 try…except…finally语句 119

9.2.4 使用raise语句抛出异常 119

9.2.5 使用pass语句忽略异常 120

9.3 raise语句的高级应用 121

9.3.1 结束解释器的运行 121

9.3.2 跳出嵌套循环 121

9.4 异常类的例 122

9.5 自定义异常 123

9.6 程序调试 124

9.6.1 使用assert语句调试程序 124

9.6.2 使用IDLE工具进行程序调试 125

9.7 新手疑难问题解答 129

9.8 实战训练 131

第10章  操作文件和目录 132

10.1 打开和关闭文件 132

10.1.1 创建和打开文件 132

10.1.2 关闭文件 134

10.1.3 打开文件时使用with语句 135

10.2 写入和修改文件 135

10.2.1 将字符串写入文件 135

10.2.2 写入多行writelines() 136

10.2.3 修改文件内容 137

10.3 读取文件 138

10.3.1 读取文件read()方法 138

10.3.2 设置文件当前位置seek()方法 138

10.3.3 逐行读取readline()方法 139

10.3.4 读取全部行readlines()方法 139

10.4 目录操作 140

10.4.1 熟悉os和os.path模块 140

10.4.2 路径 141

10.4.3 判断路径是否存在 142

10.4.4 创建目录 143

10.4.5 遍历目录 145

10.4.6 删除目录 145

10.5 文件的高级操作 146

10.5.1 获取文件的基本信息 146

10.5.2 重命名文件 147

10.5.3 删除文件 148

10.5.4 返回文件读取的当前位置 148

10.6 刷新文件 149

10.7 新手疑难问题解答 150

10.8 实战训练 150

第11章  Python操作数据库 152

11.1 操作二进制文件 152

11.2 使用SQLite 153

11.2.1 创建数据库文件 153

11.2.2 插入数据 154

11.2.3 查询数据 155

11.2.4 更新数据 157

11.2.5 删除数据 157

11.3 操作MySQL数据库 158

11.3.1 下载和安装MySQL 8.0 158

11.3.2 安装PyMySQL 166

11.3.3 连接MySQL数据库 167

11.3.4 创建数据表 169

11.3.5 插入数据 169

11.3.6 查询数据 170

11.3.7 更新数据 170

11.3.8 删除数据 171

11.4 新手疑难问题解答 171

11.5 实战训练 172

第12章  GUI编程 174

12.1 使用tkinter创建GUI程序 174

12.2 熟悉tkinter的控件 175

12.3 常用控件的使用方法 179

12.3.1 Button控件 179

12.3.2 Canvas控件 180

12.3.3 Checkbutton控件 184

12.3.4 Entry控件 185

12.3.5 Label控件 186

12.3.6 Listbox控件 187

12.3.7 Menu控件 188

12.3.8 Message控件 192

12.3.9 Radiobutton控件 192

12.3.10 Scale控件 194

12.3.11 Scrollbar控件 196

12.3.12 Text控件 197

12.4 tkinter的事件 199

12.4.1 事件的属性 199

12.4.2 事件绑定方法 200

12.4.3 鼠标事件 200

12.4.4 键盘事件 202

12.4.5 系统协议 203

12.5 布局管理器 204

12.5.1 pack()方法 205

12.5.2 grid()方法 206

12.5.3 place()方法 207

12.6 对话框 208

12.6.1 messagebox模块 208

12.6.2 filedialog模块 210

12.6.3 colorchooser模块 211

12.7 新手疑难问题解答 213

12.8 实战训练 213

第13章  精通Python的高级技术 215

13.1 使用Pillow处理图像 215

13.1.1 加载图像文件 215

13.1.2 图像文件的属性 217

13.1.3 复制与粘贴图像 218

13.1.4 图像的几何转换 220

13.1.5 存储图像文件 221

13.2 语音的处理 221

13.2.1 winsound模块 221

13.2.2 sndhdr模块 223

13.2.3 wave模块 224

13.2.4 aifc模块 226

13.3 科学计算 227

13.3.1 下载和安装numpy模块 227

13.3.2 array对象 228

13.3.3 ufunc对象 229

13.4 线程 230

13.4.1 Python多线程 230

13.4.2 _thread模块 230

13.4.3 threading模块 231

13.5 新手疑难问题解答 232

13.6 实战训练 233

第14章  Web网站编程 234

14.1 XML编程基础 234

14.1.1 XPath简介 234

14.1.2 XSLT简介 235

14.2 XML语法基础 235

14.2.1 XML的基本应用 236

14.2.2 XML文档组成和声明 237

14.2.3 XML元素介绍 238

14.3 Python解析XML 240

14.3.1 使用SAX解析XML 241

14.3.2 使用DOM解析XML 243

14.4 XDR数据交换格式 244

14.5 JSON数据解析 247

14.6 Python解析HTML 249

14.7 新手疑难问题解答 254

14.8 实战训练 254

第15章  Pygame游戏项目——经典飞机大战 258

15.1 安装Pygame 258

15.2 使用Pygame模块 259

15.3 飞机大战游戏分析 262

15.4 封装飞机大战游戏中的类 262

15.4.1 角色类 262

15.4.2 敌机类 264

15.4.3 子弹类 265

15.4.4 按钮类 265

15.5 飞机大战游戏的具体开发步骤 266

15.5.1 绘制界面 266

15.5.2 消息处理事件 267

15.5.3 角色绘制与操控 268

15.5.4 处理声音 270

15.5.5 僚机处理 270

15.5.6 动态显示得分 272

15.5.7 增加敌机 273

15.5.8 射击处理 274

15.5.9 爆炸效果 275

15.5.10 处理游戏分数 276

15.5.11 游戏最终逻辑实现 276

15.6 游戏效果演示 279

第16章  网络爬虫项目——豆瓣图书爬虫和检索 281

16.1 什么是网络爬虫 281

16.2 网络爬虫的常用技术 282

16.2.1 网络请求技术 282

16.2.2 请求headers处理 284

16.2.3 网络超时问题 286

16.2.4 代理服务 286

16.3 豆瓣读书爬虫项目分析 287

16.4 环境配置 287

16.4.1 下载并安装模块文件 287

16.4.2 检查模块文件是否安装成功 290

16.5 具体功能实现 290

16.5.1 爬取图书数据 290

16.5.2 检索图书信息 292

16.6 项目测试 293

第17章  大数据分析项目——绘制电视剧人物关系图 294

17.1 项目分析 294

17.2 配置环境 295

17.3 具体功能实现 297

17.4 项目测试 301

第18章  人工智能项目——自动文本摘要 303

18.1 项目分析 303

18.2 配置环境 304

18.3 具体功能实现 306

18.4 项目测试 310