《Python从入门到精通》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Python进行程序开发应该掌握的各方面技术。全书共分22章,包括初识Python、Python语言基础、运算符与表达式、流程控制语句、列表与元组、字典与集合、字符串、Python中使用正则表达式、函数、面向对象程序设计、模块、异常处理及程序调试、文件及目录操作、操作数据库、GUI界面编程、Pygame游戏编程、网络爬虫开发、使用进程和线程、网络编程、Web编程、Flask框架、e起去旅行网站等。所有知识都结合具体实例进行介绍,涉及的程序代码都给出了详细的注释,读者可轻松领会Python程序开发的精髓,快速提升开发技能。除此之外,本书还附配了235集高清教学微视频及PPT电子教案。

第1篇 基础知识

第1章 初识Python 2

视频讲解:68分钟

1.1 Python简介 3

1.1.1 什么是Python 3

1.1.2 Python的版本 4

1.1.3 Python都能做什么 5

1.2 搭建Python开发环境 7

1.2.1 开发环境概述 7

1.2.2 安装Python 7

1.2.3 第一个Python程序 12

1.2.4 运行已经编写好的.py文件 14

1.3 Python开发工具 15

1.3.1 使用自带的IDLE 15

1.3.2 常用的第三方开发工具 18

1.4 小结 20

第2章 Python语言基础 21

视频讲解:135分钟

2.1 Python语法特点 22

2.1.1 注释规则 22

2.1.2 代码缩进 26

2.1.3 编码规范 28

2.2 Python中的变量 30

2.2.1 保留字与标识符 30

2.2.2 理解Python中的变量 33

2.2.3 定义变量 34

2.3 基本数据类型 35

2.3.1 数字 35

2.3.2 字符串 38

2.3.3 布尔类型 40

2.3.4 数据类型转换 40

2.4 基本输入和输出 42

2.4.1 使用input()函数输入 42

2.4.2 使用print()函数输出 43

2.5 小结 44

第3章 运算符与表达式 45

视频讲解:64分钟

3.1 运算符 46

3.1.1 算术运算符 46

3.1.2 赋值运算符 47

3.1.3 比较(关系)运算符 48

3.1.4 逻辑运算符 49

3.1.5 位运算符 51

3.2 运算符的优先级 54

3.3 条件表达式 55

3.4 小结 56

第4章 流程控制语句 57

视频讲解:106分钟

4.1 程序结构 58

4.2 选择语句 59

4.2.1 最简单的if语句 59

4.2.2 if…else语句 61

4.2.3 if…elif…else语句 64

4.2.4 if语句的嵌套 66

4.3 循环语句 68

4.3.1 while循环 68

4.3.2 for循环 69

4.3.3 循环嵌套 72

4.4 break、continue和pass语句 74

4.4.1 break语句 74

4.4.2 continue语句 76

4.4.3 pass语句 77

4.5 小结 78

第5章 列表与元组 79

视频讲解:202分钟

5.1 序列概述 80

5.1.1 索引 80

5.1.2 切片 81

5.1.3 序列相加 82

5.1.4 乘法 82

5.1.5 检查某个元素是否是序列的

成员(元素) 83

5.1.6 计算序列的长度、最大值和最小值 83

5.2 列表 84

5.2.1 列表的创建和删除 85

5.2.2 访问列表元素 87

5.2.3 遍历列表 88

5.2.4 添加、修改和删除列表元素 90

5.2.5 对列表进行统计计算 94

5.2.6 对列表进行排序 96

5.2.7 列表推导式 98

5.2.8 二维列表 99

5.3 元组 103

5.3.1 元组的创建和删除 103

5.3.2 访问元组元素 106

5.3.3 修改元组 108

5.3.4 元组推导式 109

5.3.5 元组与列表的区别 111

5.4 小结 111

第6章 字典与集合 112

视频讲解:86分钟

6.1 字典 113

6.1.1 字典的创建和删除 113

6.1.2 访问字典 116

6.1.3 遍历字典 119

6.1.4 添加、修改和删除字典元素 120

6.1.5 字典推导式 121

6.2 集合 122

6.2.1 创建集合 122

6.2.2 向集合中添加和删除元素 124

6.2.3 集合的交集、并集和差集运算 126

6.3 小结 127

第7章 字符串 128

视频讲解:118分钟

7.1 字符串编码转换 129

7.1.1 使用encode()方法编码 129

7.1.2 使用decode()方法解码 130

7.2 字符串常用操作 131

7.2.1 拼接字符串 131

7.2.2 计算字符串的长度 132

7.2.3 截取字符串 133

7.2.4 分割、合并字符串 135

7.2.5 检索字符串 137

7.2.6 字母的大小写转换 141

7.2.7 去除字符串中的空格和

特殊字符 142

7.2.8 格式化字符串 145

7.3 小结 148

第2篇 进阶提高

第8章 Python中使用正则表达式 150

视频讲解:45分钟

8.1 正则表达式语法 151

8.1.1 行定位符 151

8.1.2 元字符 151

8.1.3 重复 152

8.1.4 字符类 152

8.1.5 排除字符 153

8.1.6 选择字符 153

8.1.7 转义字符 153

8.1.8 分组 154

8.1.9 在Python中使用正则

表达式语法 154

8.2 使用re模块实现正则表达式操作 155

8.2.1 匹配字符串 155

8.2.2 替换字符串 160

8.2.3 使用正则表达式分割字符串 161

8.3 小结 162

第9章 函数 163

视频讲解:118分钟

9.1 函数的创建和调用 164

9.1.1 创建一个函数 164

9.1.2 调用函数 166

9.2 参数传递 167

9.2.1 了解形式参数和实际参数 167

9.2.2 位置参数 170

9.2.3 关键字参数 172

9.2.4 为参数设置默认值 172

9.2.5 可变参数 174

9.3 返回值 178

9.4 变量的作用域 179

9.4.1 局部变量 180

9.4.2 全局变量 180

9.5 匿名函数 182

9.6 小结 184

第10章 面向对象程序设计 185

视频讲解:110分钟

10.1 面向对象概述 186

10.1.1 对象 186

10.1.2 类 187

10.1.3 面向对象程序设计的特点 187

10.2 类的定义和使用 189

10.2.1 定义类 189

10.2.2 创建类的实例 190

10.2.3 创建__init__()方法 190

10.2.4 创建类的成员并访问 192

10.2.5 访问限制 197

10.3 属性 198

10.3.1 创建用于计算的属性 198

10.3.2 为属性添加安全保护机制 199

10.4 继承 201

10.4.1 继承的基本语法 201

10.4.2 方法重写 203

10.4.3 派生类中调用基类的__init__()方法 204

10.5 小结 206

第11章 模块 207

视频讲解:105分钟

11.1 模块概述 208

11.2 自定义模块 208

11.2.1 创建模块 208

11.2.2 使用import语句导入模块 209

11.2.3 使用from…import语句

导入模块 210

11.2.4 模块搜索目录 213

11.3 Python中的包 216

11.3.1 Python程序的包结构 216

11.3.2 创建和使用包 217

11.3.3 以主程序的形式执行 221

11.4 引用其他模块 224

11.4.1 导入和使用标准模块 224

11.4.2 第三方模块的下载与安装 226

11.5 小结 228

第12章 异常处理及程序调试 229

视频讲解:52分钟

12.1 异常概述 230

12.2 异常处理语句 232

12.2.1 try…except语句 232

12.2.2 try…except…else语句 235

12.2.3 try…except…finally语句 236

12.2.4 使用raise语句抛出异常 238

12.3 程序调试 240

12.3.1 使用自带的IDLE进行程序调试 240

12.3.2 使用assert语句调试程序 244

12.4 小结 246

第13章 文件及目录操作 247

视频讲解:140分钟

13.1 基本文件操作 248

13.1.1 创建和打开文件 248

13.1.2 关闭文件 251

13.1.3 打开文件时使用with语句 252

13.1.4 写入文件内容 252

13.1.5 读取文件 255

13.2 目录操作 260

13.2.1 os和os.path模块 260

13.2.2 路径 262

13.2.3 判断目录是否存在 264

13.2.4 创建目录 265

13.2.5 删除目录 267

13.2.6 遍历目录 268

13.3 高级文件操作 270

13.3.1 删除文件 271

13.3.2 重命名文件和目录 272

13.3.3 获取文件基本信息 273

13.4 小结 275

第14章 操作数据库 276

视频讲解:74分钟

14.1 数据库编程接口 277

14.1.1 连接对象 277

14.1.2 游标对象 278

14.2 使用SQLite 279

14.2.1 创建数据库文件 279

14.2.2 操作SQLite 280

14.3 使用MySQL 284

14.3.1 下载安装MySQL 284

14.3.2 安装PyMySQL 290

14.3.3 连接数据库 290

14.3.4 创建数据表 291

14.3.5 操作MySQL数据表 292

14.4 小结 294

第3篇 高级应用

第15章 GUI界面编程 296

视频讲解:82分钟

15.1 初识GUI 297

15.1.1 什么是GUI 297

15.1.2 常用的GUI框架 297

15.1.3 安装wxPython 298

15.2 创建应用程序 299

15.2.1 创建一个wx.App的子类 299

15.2.2 直接使用wx.App 300

15.2.3 使用wx.Frame框架 301

15.3 常用控件 302

15.3.1 StaticText文本类 302

15.3.2 TextCtrl输入文本类 305

15.3.3 Button按钮类 306

15.4 BoxSizer布局 308

15.4.1 什么是BoxSizer 308

15.4.2 使用BoxSizer布局 308

15.5 事件处理 312

15.5.1 什么是事件 312

15.5.2 绑定事件 312

15.6 小结 314

第16章 Pygame游戏编程 315

视频讲解:84分钟

16.1 初识Pygame 316

16.1.1 安装Pygame 316

16.1.2 Pygame常用模块 317

16.2 Pygame基本使用 319

16.3 开发Flappy Bird游戏 324

16.3.1 游戏简介 324

16.3.2 游戏分析 325

16.3.3 搭建主框架 325

16.3.4 创建小鸟类 327

16.3.5 创建管道类 329

16.3.6 计算得分 331

16.3.7 碰撞检测 333

16.4 小结 335

第17章 网络爬虫开发 336

视频讲解:163分钟

17.1 初识网络爬虫 337

17.1.1 网络爬虫概述 337

17.1.2 网络爬虫的分类 337

17.1.3 网络爬虫的基本原理 338

17.2 网络爬虫的常用技术 339

17.2.1 Python的网络请求 339

17.2.2 请求headers处理 342

17.2.3 网络超时 343

17.2.4 代理服务 344

17.2.5 HTML解析之BeautifulSoup 345

17.3 网络爬虫开发常用框架 348

17.3.1 Scrapy爬虫框架 348

17.3.2 Crawley爬虫框架 349

17.3.3 PySpider爬虫框架 349

17.4 实战项目:快手爬票 350

17.4.1 快手爬票概述 350

17.4.2 搭建QT环境 351

17.4.3 主窗体设计 355

17.4.4 分析网页请求参数 364

17.4.5 下载站名文件 366

17.4.6 车票信息的请求与显示 369

17.5 小结 376

第18章 使用进程和线程 377

视频讲解:95分钟

18.1 什么是进程 378

18.2 创建进程的常用方式 379

18.2.1 使用multiprocessing模块创建进程 379

18.2.2 使用Process子类创建进程 382

18.2.3 使用进程池Pool创建进程 384

18.3 进程间通信 386

18.3.1 队列简介 388

18.3.2 多进程队列的使用 388

18.3.3 使用队列在进程间通信 390

18.4 什么是线程 391

18.5 创建线程 391

18.5.1 使用threading模块创建线程 392

18.5.2 使用Thread子类创建线程 393

18.6 线程间通信 394

18.6.1 什么是互斥锁 395

18.6.2 使用互斥锁 396

18.6.3 使用队列在线程间通信 398

18.7 小结 400

第19章 网络编程 401

视频讲解:60分钟

19.1 网络基础 402

19.1.1 为什么要使用通信协议 402

19.1.2 TCP/IP简介 402

19.1.3 UDP简介 404

19.1.4 Socket简介 405

19.2 TCP编程 406

19.2.1 创建TCP服务器 406

19.2.2 创建TCP客户端 408

19.2.3 执行TCP服务器和客户端 409

19.3 UDP编程 411

19.3.1 创建UDP 服务器 412

19.3.2 创建UDP 客户端 412

19.3.3 执行UDP服务器和客户端 413

19.4 小结 414

第20章 Web编程 415

视频讲解:93分钟

20.1 Web基础 416

20.1.1 HTTP协议 416

20.1.2 Web服务器 416

20.1.3 前端基础 419

20.1.4 静态服务器 421

20.2 WSGI接口 426

20.2.1 CGI简介 426

20.2.2 WSGI简介 427

20.2.3 定义WSGI接口 428

20.2.4 运行WSGI服务 428

20.3 Web框架 431

20.3.1 什么是Web框架 431

20.3.2 Python中常用的Web框架 431

20.4 小结 432

第21章 Flask框架 433

视频讲解:75分钟

21.1 Flask简介 434

21.1.1 安装虚拟环境 434

21.1.2 安装Flask 435

21.1.3 第一个Flask程序 436

21.2 Flask基础 437

21.2.1 开启调试模式 437

21.2.2 路由 438

21.2.3 静态文件 440

21.2.4 蓝图 441

21.3 模板 441

21.3.1 渲染模板 441

21.3.2 变量 443

21.3.3 控制结构 444

21.4 Web表单 446

21.4.1 CSRF保护和验证 446

21.4.2 表单类 447

21.4.3 把表单渲染成HTML 449

21.5 小结 452

第4篇 项目实战

第22章 e起去旅行网站 454

视频讲解:143分钟

22.1 系统功能设计 455

22.1.1 系统功能结构 455

22.1.2 系统业务流程 455

22.2 系统开发必备 456

22.2.1 系统开发环境 456

22.2.2 文件夹组织结构 456

22.3 数据库设计 458

22.3.1 数据库概要说明 458

22.3.2 数据表模型 458

22.3.3 数据表关系 460

22.4 前台用户模块设计 460

22.4.1 会员注册功能实现 460

22.4.2 会员登录功能实现 468

22.4.3 会员退出功能实现 470

22.5 前台首页模块设计 470

22.5.1 推荐景区功能实现 472

22.5.2 推荐地区功能实现 474

22.5.3 搜索景区功能实现 475

22.6 景区模块设计 478

22.6.1 查看景区功能实现 478

22.6.2 查看游记功能实现 481

22.6.3 收藏景区功能实现 482

22.6.4 查看收藏景区功能实现 485

22.7 关于我们模块设计 488

22.8 后台模块设计 492

22.8.1 管理员登录功能实现 492

22.8.2 景区管理功能实现 493

22.8.3 地区管理功能实现 505

22.8.4 游记管理功能实现 505

22.8.5 会员管理功能实现 506

22.8.6 日志管理功能实现 507

22.9 小结 508