内容简介
第1章 Python简介
1.1 Python的历史
1.2为什么使用Python
1.3搭建Python开发环境
1.3.1安装Python
1.3.2运行Python
1.3.3选择Python IDE
1.4 Python语言特性
1.4.1 Python的缩进
1.4.2 Python的序列
1.4.3对各种编程模式的支持
1.4.4 Python的动态性
1.4.5匿名函数、嵌套函数
1.4.6 Python自省
1.5 Python 2.X、Python 3.X与Python 3.7
1.5.1 Python 2.X和Python 3.X的区别
1.5.2 Python 3.7的新增功能
1.6开始编程:第一个Python Hello World
1.7本章小结
第2章 Python基础知识
2.1 Python的基础简介
2.1.1启动Python解释器
2.1.2数值类型
2.1.3字符串
2.1.4列表
2.1.5流程控制
2.1.6函数
2.2开始编程:九九乘法表
2.2.1九九乘法表
2.2.2编程思路
2.2.3编程实现
2.3本章小结
第3章 Python的内置类型
3.1 Python的类型分类
3.2简单类型
3.2.1布尔类型
3.2.2整数类型
3.2.3浮点数类型
3.2.4复数类型
3.2.5 None类型
3.3简单类型的运算
3.4常量类型
3.5序列类型
3.6列表类型
3.6.1创建list
3.6.2 list的元素访问
3.6.3列表运算
3.6.4列表的方法
3.6.5列表的内置函数(range、filter、map)
3.6.6列表推导式
3.7元组类型
3.8字符串类型
3.9字典类型
3.9.1字典的创建
3.9.2字典的操作
3.10集合类型
3.10.1集合的创建
3.10.2集合的方法和运算
3.11开始编程:文本统计和比较
3.11.1需求说明
3.11.2需求分析
3.11.3整体思路
3.11.4具体实现
3.11.5文本读写
3.11.6命令行参数
3.11.7程序入口
3.11.8运行效果
3.12本章小结
第4章 流程控制和函数
4.1流程控制
4.1.1选择结构
4.1.2 for循环结构
4.1.3 while循环结构
4.2函数
4.2.1函数的定义
4.2.2函数的参数
4.2.3函数调用和返回
4.2.4 lambda函数
4.2.5嵌套函数
4.2.6函数的作用域
4.3开始编程:八皇后算法
4.3.1八皇后问题
4.3.2问题分析
4.3.3程序设计
4.3.4问题深入
4.3.5问题总结
4.4本章小结
第5章 类和对象
5.1面向对象
5.1.1面向对象的历史
5.1.2面向对象概述
5.1.3面向对象小结
5.2 Python类和对象
5.2.1类的定义
5.2.2类的实例化
5.2.3类的方法
5.2.4类的特殊方法
5.2.5类的继承
5.2.6类的关联和依赖
5.2.7类的聚合和组合
5.2.8类的关系
5.3开始编程:自动打印字符图案
5.3.1需求分析和设计
5.3.2程序开发
5.3.3程序入口
5.4本章小结
第6章 异常捕获和抛出
6.1异常处理
6.1.1 Traceback异常信息
6.1.2捕获异常
6.1.3多重异常处理
6.1.4异常的参数
6.1.5内置异常类型
6.1.6抛出异常
6.1.7自定义异常类型
6.2开始编程:计算机猜数
6.2.1计算机猜数程序
6.2.2需求分析
6.2.3算法分析
6.2.4编程实现
6.2.5异常处理
6.2.6异常类定义
6.2.7抛出和捕获异常
6.3小结
第7章 模块和包
7.1模块
7.1.1 Python模块
7.1.2导入模块
7.1.3查找模块
7.1.4模块编译
7.2包
7.2.1 Python包
7.2.2包的导入
7.2.3内嵌包
7.3本章小结
第8章 元类和新型类
8.1元类
8.1.1类工厂
8.1.2初识元类
8.1.3设置类的元类属性
8.1.4元类的魔力
8.1.5面向方面和元类
8.1.6元类的小结
8.2新型类
8.2.1新型类和传统类的区别
8.2.2类方法和静态方法
8.2.3新型类的特定方法
8.2.4新型类的特定属性
8.2.5类的super()方法
8.2.6新型类的小结
8.3本章小结
第9章 迭代器、生成器和修饰器
9.1迭代器和生成器
9.1.1迭代器的概念
9.1.2生成器的概念
9.1.3生成器yield语法
9.1.4生成器的用途
9.2修饰器
9.2.1修饰器模式
9.2.2 Python修饰器
9.2.3修饰器函数的定义
9.2.4修饰器的应用
9.3本章小结
第10章 多线程
10.1线程的概念
10.2创建多线程
10.2.1通过threading.Thread()创建
10.2.2通过继承threading.Thread类创建
10.3主线程
10.4阻塞线程
10.5判断线程是否是活动的
10.6线程同步
10.6.1同步的概念
10.6.2 Python中的锁
10.6.3 Python中的条件锁
10.7本章小结
第11章 文件与目录
11.1文件的处理
11.1.1获取系统类型
11.1.2获取系统环境
11.1.3执行系统命令
11.1.4操作目录及文件
11.2文件和目录的高级处理
11.2.1复制文件
11.2.2移动文件
11.2.3读取压缩及归档压缩文件
11.2.4解压文件
11.3开始编程:文件处理实战
11.4本章小结
第12章 正则表达式
12.1正则表达式简介
12.1.1正则表达式概念
12.1.2正则表达式构成
12.2 re模块的简单应用
12.3常用正则表达式
12.3.1常用数字表达式的校验
12.3.2常用字符表达式的校验
12.3.3特殊需求表达式的校验
12.4本章小结
第13章 网络编程
13.1网络编程理论基础
13.1.1网络协议
13.1.2 IP地址与端口
13.1.3 socket套接字
13.2使用TCP的服务器与客户端
13.2.1 TCP工作原理
13.2.2 TCP服务器的实现
13.2.3 TCP客户端的实现
13.3使用UDP的服务器与客户端
13.3.1 UDP工作原理
13.3.2 UDP服务器的实现
13.3.3 UDP客户端的实现
13.4开始编程:网络聊天程序
13.5本章小结
第14章 urllib爬虫
14.1 urllib、urllib2、urllib3的不同
14.2 urllib3中的request模块
14.2.1对URL的访问
14.2.2 Request类
14.2.3其他类
14.3 request引发的异常
14.4解析URL的parse模块
14.4.1 URL解析
14.4.2 URL转义
14.5分析robots.txt文件
14.6本章小结
第15章 网页爬虫实战
15.1获取页面源码
15.1.1从网页获取数据
15.1.2转换编码UTF-8
15.1.3添加关键字进行搜索
15.2过滤数据
15.2.1 Beautiful Soup简介
15.2.2 Beautiful Soup的使用
15.3数据保存
15.3.1保存数据到本地文本
15.3.2保存数据到数据库
15.4本章小结
第16章 Scrapy爬虫
16.1安装Scrapy
16.1.1在Windows下安装Scrapy
16.1.2在Linux下安装Scrapy
16.2 Scrapy选择器XPath和CSS
16.2.1 XPath选择器
16.2.2 CSS选择器
16.2.3其他选择器
16.3 Scrapy爬虫实战:今日影视
16.3.1创建Scrapy项目
16.3.2 Scrapy文件介绍
16.3.3选择爬取的项目
16.3.4定义如何爬取
16.3.5保存爬取的结果
16.3.6分派任务
16.4本章小结