目 录    第1章 第一个Python程序 1 1.1 Python简介 2 1.2 Python的安装 3 1.2.1 在Mac上安装Python 3 1.2.2 在Linux上安装Python 4 1.2.3 在Windows上安装Python 5 1.3 第一个Python程序 6 1.4 Python开发工具 7 1.4.1 使用自带的IDLE工具 7 1.4.2 常用的第三方开发工具 8 1.5 本章小结 9 第2章 Python语言基础 11 2.1 Python语法的简要说明 12 2.1.1 注释 12 2.1.2 代码缩进 14 2.1.3 编码规范 15 2.2 保留字与标识符 17 2.2.1 保留字 17 2.2.2 标识符 18 2.3 变量 18 2.3.1 理解Python中的变量 18 2.3.2 变量的定义与使用 19 2.4 基本数据类型 20 2.4.1 数字类型 20 2.4.2 字符串类型 21 2.4.3 布尔类型 22 2.4.4 数据类型转换 23 2.5 运算符 24 2.5.1 算术运算符 24 2.5.2 赋值运算符 25 2.5.3 比较运算符 25 2.5.4 逻辑运算符 26 2.5.5 位运算符 28 2.5.6 运算符的优先级 28 2.6 基本输入与输出 29 2.6.1 使用input()函数输入 29 2.6.2 使用print()函数输出 30 2.7 本章小结 31 第3章 流程控制语句 33 3.1 程序结构 34 3.2 选择语句 34 3.2.1 最简单的if语句 35 3.2.2 if…else语句 35 3.2.3 if…elif…else语句 36 3.2.4 if语句的嵌套 38 3.3 条件表达式 39 3.4 循环语句 39 3.4.1 while循环 40 3.4.2 for循环 40 3.4.3 循环嵌套 42 3.5 跳转语句 43 3.5.1 break语句 43 3.5.2 continue语句 44 3.6 pass空语句 45 3.7 本章小结 45 第4章 高级数据类型 47 4.1 序列 48 4.1.1 索引 48 4.1.2 切片 48 4.1.3 序列相加 49 4.1.4 乘法 49 4.1.5 检查某个元素是否是序列的 成员 50 4.1.6 计算序列的长度、最大值和 最小值 50 4.2 列表(List) 51 4.2.1 列表的创建与删除 51 4.2.2 访问列表元素 52 4.2.3 遍历列表 53 4.2.4 添加、修改和删除列表 55 4.2.5 对列表进行统计和计算 57 4.2.6 对列表进行排序 58 4.2.7 列表推导式 60 4.2.8 二维列表的使用 61 4.3 元组(Tuple) 63 4.3.1 元组的创建与删除 63 4.3.2 访问元组元素 64 4.3.3 修改元组元素 65 4.3.4 元组推导式 65 4.3.5 元组和列表的区别 66 4.4 字典(Dictionary) 66 4.4.1 字典的创建与删除 67 4.4.2 通过键值对访问字典 68 4.4.3 遍历字典 69 4.4.4 添加、修改和删除字典元素 69 4.4.5 字典推导式 69 4.5 集合(Set) 70 4.5.1 集合的创建 70 4.5.2 集合的添加和删除 71 4.5.3 集合的交集、并集和差集 运算 71 4.5.4 列表、元组、字典和集合的 区别 71 4.6 本章小结 72 第5章 函数 73 5.1 函数的创建和调用 74 5.1.1 创建一个函数 74 5.1.2 调用函数 75 5.2 参数传递 76 5.2.1 了解形式参数和实际参数 76 5.2.2 位置参数 79 5.2.3 关键字参数 80 5.2.4 为参数设置默认值 80 5.2.5 可变参数 82 5.3 返回值 85 5.4 变量的作用域 87 5.5 匿名函数 87 5.6 本章小结 89 第6章 字符串及正则表达式基础 91 6.1 字符串常用操作 92 6.1.1 拼接字符串 92 6.1.2 计算字符串长度 93 6.1.3 截取字符串 94 6.1.4 分割、合并字符串 95 6.1.5 检索字符串 96 6.1.6 字符串大小写替换 98 6.1.7 去除字符串中的空格和特殊 字符 98 6.2 字符串编码转换 99 6.3 正则表达式基础 101 6.3.1 行定位符 101 6.3.2 元字符 101 6.3.3 限定符 102 6.3.4 字符类 102 6.3.5 排除字符 102 6.3.6 选择字符 102 6.3.7 转义字符 103 6.3.8 分组 103 6.3.9 正则表达式语法 103 6.4 re模块 104 6.4.1 匹配字符串 104 6.4.2 替换字符串 106 6.4.3 分割字符串 107 6.5 本章小结 107 第7章 面向对象程序设计 109 7.1 面向对象概述 110 7.1.1 对象 110 7.1.2 类 110 7.1.3 面向对象程序设计的特点 110 7.2 类的定义和调用 111 7.2.1 定义类 111 7.2.2 创建类的实例 112 7.2.3 创建__init__()方法 112 7.2.4 创建类的成员并访问 113 7.2.5 访问限制 117 7.3 属性 118 7.3.1 创建用于计算的属性 118 7.3.2 为属性添加安全保护机制 119 7.4 继承 121 7.4.1 继承的基本语法 121 7.4.2 方法重写 122 7.4.3 派生类中调用基类的__init__() 方法 123 7.5 本章小结 125 第8章 模块 127 8.1 模块概述 128 8.2 自定义模块 128 8.2.1 创建模块 129 8.2.2 使用import语句导入模块 129 8.2.3 使用from…import语句 导入模块 130 8.2.4 模块主要搜索目录 132 8.3 以主程序的形式运行 133 8.4 Python中的包 135 8.4.1 Python程序的包结构 135 8.4.2 创建和使用包 135 8.5 引用其他模块 138 8.5.1 导入和使用模块标准 138 8.5.2 第三方模块的下载与安装 139 8.6 本章小结 140 第9章 异常处理及程序调试 141 9.1 异常概述 142 9.2 异常处理语句 144 9.2.1 try…except语句 144 9.2.2 try…except…else语句 147 9.2.3 try…except…finally语句 148 9.2.4 使用raise语句抛出异常 149 9.3 使用assert语句调试程序 150 9.4 本章小结 152 第10章 文件及目录操作 153 10.1 基本文件操作 154 10.1.1 创建和打开文件 154 10.1.2 关闭文件 157 10.1.3 打开文件时使用with 语句 157 10.1.4 写入文件内容 157 10.1.5 读取文件 159 10.2 目录操作 162 10.2.1 os和os.path模块 162 10.2.2 路径 164 10.2.3 判断目录是否存在 165 10.2.4 创建目录 165 10.2.5 删除目录 167 10.2.6 遍历目录 168 10.3 高级文件操作 169 10.3.1 删除文件 169 10.3.2 重命名文件和目录 170 10.3.3 获取文件基本信息 171 10.4 本章小结 172 第11章 数据库编程 173 11.1 数据库编程接口 174 11.1.1 连接对象 174 11.1.2 游标对象 175 11.2 使用SQLite 175 11.2.1 创建数据库文件 176 11.2.2 操作SQLite 177 11.3 使用MySQL 180 11.3.1 下载安装MySQL 180 11.3.2 安装PyMySQL 183 11.3.3 连接数据库 184 11.3.4 创建数据表 184 11.3.5 操作MySQL数据表 185 11.4 本章小结 186 第12章 网络编程 187 12.1 少数几个网络设计模块 188 12.1.1 socket模块 188 12.1.2 urllib和urllib2模块 190 12.1.3 其他模块 191 12.2 SocketServer和它的朋友们 192 12.3 多连接 193 12.3.1 使用SocketServer进行 分叉和线程处理 194 12.3.2 带有select和poll的 异步IO 195 12.4 Twisted 196 12.4.1 下载并安装Twisted 197 12.4.2 编写Twisted服务器 197 12.5 本章小结 198 第13章 Web编程 201 13.1 Web基础 202 13.1.1 HTTP协议 202 13.1.2 Web服务器 202 13.1.3 前端基础 204 13.1.4 静态服务器 207 13.2 WSGI接口 210 13.2.1 CGI简介 210 13.2.2 WSGI简介 211 13.2.3 定义WSGI接口 211 13.3 常用Web框架 212 13.3.1 Web框架简介 212 13.3.2 Flask框架的使用 213 13.3.3 Django框架的使用 222 13.4 本章小结 235 第14章 网络爬虫开发 237 14.1 网络爬虫概述 238 14.2 网络爬虫的常用技术 238 14.2.1 Python的网络请求 238 14.2.2 请求headers处理 241 14.2.3 网络超时 242 14.2.4 代理服务 243 14.2.5 HTML解析之 Beautiful Soup 244 14.3 网络爬虫开发常用框架 245 14.3.1 Scrapy爬虫框架 245 14.3.2 Crawley爬虫框架 246 14.3.3 PySpider爬虫框架 247 14.4 本章小结 247