科技
类型
8.7
豆瓣评分
可以朗读
语音朗读
212千字
字数
2017-07-01
发行日期
展开全部
主编推荐语
基于Windows 10和Python 3.7构建Python开发平台,通过大量的实例,由浅入深、循序渐进地阐述Python语言的基础知识,以及使用Python语言的实际开发应用实例。
内容简介
本书集教材、练习册、上机指导于一体,基于Windows 10和Python 3.7构建Python开发平台,阐述Python语言的基础知识,以及使用Python语言的开发应用实例,具体内容包括Python概述,Python语言基础,程序流程控制,常用内置数据类型,序列数据类型,输入和输出,错误和异常处理,函数、类和对象,模块和客户端,算法与数据结构基础,图形用户界面,图形绘制,数值日期和时间处理,字符串和文本处理,文件、数据库访问,网络和Web编程,多线程编程以及系统管理等。
本书编者结合多年的程序设计、系统开发以及授课经验,由浅入深、循序渐进地介绍Python程序设计语言,让读者能够较为系统、全面地掌握程序设计的理论和应用。本书还提供了教学微课视频。
本书可以作为高等学校各专业的计算机程序设计教程,也可作为广大程序设计开发者、爱好者的自学参考书。
目录
- 版权信息
- 内容简介
- 前言
- 第1章 Python概述
- 1.1 初识Python语言
- 1.1.1 Python语言简介
- 1.1.2 Python语言的特点
- 1.1.3 Python语言的应用范围
- 1.2 Python语言版本和开发环境
- 1.2.1 Python语言的版本
- 1.2.2 Python语言的实现
- 1.2.3 Python语言的集成开发环境
- 1.3 下载和安装Python
- 1.3.1 下载Python
- 1.3.2 安装Python
- 1.3.3 安装和管理Python扩展包
- 1.4 使用Python解释器解释执行Python程序
- 1.4.1 运行Python解释器
- 1.4.2 运行Python集成开发环境
- 1.5 使用文本编辑器和命令行编写和执行Python源文件程序
- 1.5.1 编写输出“Hello,World!”的程序
- 1.5.2 输出“Hello,World!”程序的源代码分析
- 1.5.3 运行Python源代码程序
- 1.5.4 命令行参数
- 1.6 使用集成开发环境IDLE编写和执行Python源文件程序
- 1.6.1 使用IDLE编写程序
- 1.6.2 使用IDLE编辑程序
- 1.7 在线帮助和相关资源
- 1.7.1 Python交互式帮助系统
- 1.7.2 Python文档
- 1.7.3 Python官网
- 1.7.4 Python扩展库索引
- 1.8 复习题
- 1.9 上机实践
- 1.10 案例研究:安装和使用其他Python环境
- 第2章 Python语言基础
- 2.1 Python程序概述
- 2.1.1 引例
- 2.1.2 Python程序的构成
- 2.2 Python对象和引用
- 2.2.1 Python对象概述
- 2.2.2 使用字面量创建实例对象
- 2.2.3 使用类对象创建实例对象
- 2.2.4 数据类型
- 2.2.5 变量和对象的引用
- 2.2.6 Python是动态类型语言
- 2.2.7 Python是强类型语言
- 2.2.8 对象内存示意图
- 2.2.9 对象的值比较和引用判别
- 2.2.10 不可变对象和可变对象
- 2.3 标识符及其命名规则
- 2.3.1 标识符
- 2.3.2 保留关键字
- 2.3.3 Python预定义标识符
- 2.3.4 命名规则
- 2.4 变量和赋值语句
- 2.4.1 变量的声明和赋值
- 2.4.2 链式赋值语句
- 2.4.3 复合赋值语句
- 2.4.4 删除变量
- 2.4.5 序列解包赋值
- 2.4.6 常量
- 2.5 表达式和运算符
- 2.5.1 表达式的组成
- 2.5.2 表达式的书写规则
- 2.5.3 运算符概述
- 2.5.4 Python运算符
- 2.6 语句
- 2.6.1 Python语句
- 2.6.2 Python语句的书写规则
- 2.6.3 复合语句及其缩进书写规则
- 2.6.4 注释语句
- 2.6.5 空语句
- 2.7 函数和模块
- 2.7.1 函数的创建和调用
- 2.7.2 内置函数
- 2.7.3 模块函数
- 2.7.4 函数API
- 2.8 类和对象
- 2.8.1 创建类对象
- 2.8.2 实例对象的创建和调用
- 2.9 模块和包
- 2.10 复习题
- 2.11 上机实践
- 2.12 案例研究:使用Pillow库处理图像文件
- 第3章 程序流程控制
- 3.1 顺序结构
- 3.2 选择结构
- 3.2.1 分支结构的形式
- 3.2.2 单分支结构
- 3.2.3 双分支结构
- 3.2.4 多分支结构
- 3.2.5 if语句的嵌套
- 3.2.6 if语句的典型示例代码
- 3.2.7 选择结构综合举例
- 3.3 循环结构
- 3.3.1 可迭代对象
- 3.3.2 range对象
- 3.3.3 for循环
- 3.3.4 while循环
- 3.3.5 循环的嵌套
- 3.3.6 break语句
- 3.3.7 continue语句
- 3.3.8 死循环
- 3.3.9 else子句
- 3.3.10 enumerate()函数和循环
- 3.3.11 zip()函数和循环
- 3.3.12 map()函数和循环
- 3.3.13 循环语句的典型示例代码
- 3.3.14 循环结构综合举例
- 3.4 复习题
- 3.5 上机实践
- 3.6 案例研究:使用嵌套循环实现图像处理算法
- 第4章 常用内置数据类型
- 4.1 Python内置数据类型概述
- 4.1.1 数值数据类型
- 4.1.2 序列数据类型
- 4.1.3 集合数据类型
- 4.1.4 字典数据类型
- 4.1.5 NoneType、NotImplementedType和EllipsisType
- 4.1.6 其他数据类型
- 4.2 int类型
- 4.2.1 整型字面量
- 4.2.2 int对象
- 4.2.3 int对象的方法
- 4.2.4 整数的运算
- 4.3 float类型
- 4.3.1 浮点类型字面量
- 4.3.2 float对象
- 4.3.3 float对象的方法
- 4.3.4 浮点数的运算
- 4.4 complex类型
- 4.4.1 复数类型字面量
- 4.4.2 complex对象
- 4.4.3 complex对象的属性和方法
- 4.4.4 复数的运算
- 4.5 bool类型
- 4.5.1 布尔值字面量
- 4.5.2 bool对象
- 4.5.3 逻辑运算符
- 4.6 str类型
- 4.6.1 字符串字面量
- 4.6.2 字符串编码
- 4.6.3 转义字符
- 4.6.4 str对象
- 4.6.5 str对象的属性和方法
- 4.6.6 字符串的运算
- 4.6.7 对象转换为字符串
- 4.6.8 字符串的格式化
- 4.6.9 格式化字符串变量
- 4.7 比较关系运算和条件表达式
- 4.7.1 条件表达式
- 4.7.2 关系和测试运算符
- 4.8 算术运算符和位运算符
- 4.8.1 算术运算符
- 4.8.2 位运算符
- 4.9 混合运算和数值类型转换
- 4.9.1 隐式转换
- 4.9.2 显式转换
- 4.10 内置标准数学函数
- 4.10.1 内置数学运算函数
- 4.10.2 数制转换函数
- 4.11 复习题
- 4.12 上机实践
- 4.13 案例研究:科学计算和数据分析
- 第5章 序列数据类型
- 5.1 Python序列数据概述
- 5.1.1 数组
- 5.1.2 Python内置的序列数据类型
- 5.2 序列数据的基本操作
- 5.2.1 序列的长度、最大值、最小值、求和
- 5.2.2 序列的索引访问操作
- 5.2.3 序列的切片操作
- 5.2.4 序列的连接和重复操作
- 5.2.5 序列的成员关系操作
- 5.2.6 序列的比较运算操作
- 5.2.7 序列的排序操作
- 5.2.8 内置函数all()和any()
- 5.2.9 序列的拆分
- 5.3 元组
- 5.3.1 使用元组字面量创建元组实例对象
- 5.3.2 使用tuple对象创建元组实例对象
- 5.3.3 元组的序列操作
- 5.4 列表
- 5.4.1 使用列表字面量创建列表实例对象
- 5.4.2 使用list对象创建列表实例对象
- 5.4.3 列表的序列操作
- 5.4.4 list对象的方法
- 5.4.5 列表解析表达式
- 5.5 字符串
- 5.5.1 字符串的序列操作
- 5.5.2 字符串编码
- 5.5.3 字符串的格式化
- 5.6 字节序列
- 5.6.1 bytes常量
- 5.6.2 创建bytes对象
- 5.6.3 创建bytearray对象
- 5.6.4 bytes和bytearray的序列操作
- 5.6.5 字节编码和解码
- 5.7 复习题
- 5.8 上机实践
- 5.9 案例研究:猜单词游戏
- 第6章 输入和输出
- 6.1 输入和输出概述
- 6.2 命令行参数
- 6.2.1 sys.argv与命令行参数
- 6.2.2 argparse模块和命令行参数解析
- 6.3 标准输入和标准输出函数
- 6.3.1 输入和输出函数
- 6.3.2 交互式用户输入
- 6.3.3 运行时提示输入密码
- 6.4 文件和文件对象
- 6.4.1 文件对象和open()函数
- 6.4.2 文件的打开、写入、读取和关闭
- 6.4.3 with语句和上下文管理协议
- 6.5 标准输入、输出和错误流
- 6.5.1 标准输入、输出和错误流文件对象
- 6.5.2 读取任意长度的输入流
- 6.5.3 标准输入、输出和错误流重定向
- 6.6 重定向和管道
- 6.6.1 重定向标准输出到一个文件
- 6.6.2 重定向文件到标准输入
- 6.6.3 管道
- 6.6.4 过滤器
- 6.7 复习题
- 6.8 上机实践
- 6.9 案例研究:21点扑克牌游戏
- 第7章 错误和异常处理
- 7.1 程序的错误
- 7.1.1 语法错误
- 7.1.2 运行时错误
- 7.1.3 逻辑错误
- 7.2 异常处理
- 7.2.1 异常处理概述
- 7.2.2 内置的异常类
- 7.2.3 引发异常
- 7.2.4 捕获处理异常机制概述
- 7.2.5 Python虚拟机捕获处理异常
- 7.2.6 使用try…except…else…finally语句捕获处理异常
- 7.2.7 捕获异常的顺序
- 7.2.8 finally块和发生异常后的处理
- 7.2.9 自定义异常类
- 7.3 断言处理
- 7.3.1 断言处理概述
- 7.3.2 assert语句和AssertionError类
- 7.3.3 启用/禁用断言
- 7.4 程序的基本调试方法
- 7.4.1 语法错误的调试
- 7.4.2 运行时错误的调试
- 7.4.3 逻辑错误的调试
- 7.5 使用logging模块输入日志
- 7.5.1 logging模块概述
- 7.5.2 logging的配置和使用
- 7.6 复习题
- 7.7 上机实践
- 7.8 案例研究:使用调试器调试Python程序
- 第8章 函数和函数式编程
- 8.1 函数概述
- 8.1.1 函数的基本概念
- 8.1.2 函数的功能
- 8.1.3 Python中函数的分类
- 8.2 函数的声明和调用
- 8.2.1 函数对象的创建
- 8.2.2 函数的调用
- 8.2.3 函数的副作用
- 8.3 参数的传递
- 8.3.1 形式参数和实际参数
- 8.3.2 形式参数变量和对象引用传递
- 8.3.3 传递不可变对象的引用
- 8.3.4 传递可变对象的引用
- 8.3.5 可选参数
- 8.3.6 位置参数和命名参数
- 8.3.7 可变参数
- 8.3.8 强制命名参数
- 8.3.9 参数类型检查
- 8.4 函数的返回值
- 8.4.1 return语句和函数返回值
- 8.4.2 多条return语句
- 8.4.3 返回多个值
- 8.5 变量的作用域
- 8.5.1 全局变量
- 8.5.2 局部变量
- 8.5.3 全局语句global
- 8.5.4 非局部语句nonlocal
- 8.5.5 类成员变量
- 8.5.6 输出局部变量和全局变量
- 8.6 递归函数
- 8.6.1 递归函数的定义
- 8.6.2 递归函数的原理
- 8.6.3 编写递归函数时需要注意的问题
- 8.6.4 递归函数的应用:最大公约数
- 8.6.5 递归函数的应用:汉诺塔
- 8.7 内置函数的使用
- 8.7.1 内置函数一览
- 8.7.2 eval()函数
- 8.7.3 exec()函数
- 8.7.4 compile()函数
- 8.8 Python函数式编程基础
- 8.8.1 作为对象的函数
- 8.8.2 高阶函数
- 8.8.3 map()函数
- 8.8.4 filter()函数
- 8.8.5 Lambda表达式和匿名函数
- 8.8.6 operator模块和操作符函数
- 8.8.7 functools.reduce()函数
- 8.8.8 偏函数
- 8.8.9 sorted()函数
- 8.8.10 函数装饰器
- 8.9 复习题
- 8.10 上机实践
- 8.11 案例研究:井字棋游戏
- 第9章 面向对象的程序设计
- 9.1 面向对象概念
- 9.1.1 对象的定义
- 9.1.2 封装
- 9.1.3 继承
- 9.1.4 多态性
- 9.2 类对象和实例对象
- 9.2.1 类对象
- 9.2.2 实例对象
- 9.3 属性
- 9.3.1 实例对象属性
- 9.3.2 类对象属性
- 9.3.3 私有属性和公有属性
- 9.3.4 @property装饰器
- 9.3.5 特殊属性
- 9.3.6 自定义属性
- 9.4 方法
- 9.4.1 对象实例方法
- 9.4.2 静态方法
- 9.4.3 类方法
- 9.4.4 __init__()方法和__new__()方法
- 9.4.5 __del__()方法
- 9.4.6 私有方法与公有方法
- 9.4.7 方法的重载
- 9.5 继承
- 9.5.1 派生类
- 9.5.2 查看继承的层次关系
- 9.5.3 类成员的继承和重写
- 9.6 对象的特殊方法
- 9.6.1 对象的特殊方法概述
- 9.6.2 运算符重载与对象的特殊方法
- 9.6.3 @functools.total_ordering装饰器
- 9.6.4 __call__()方法和可调用对象
- 9.7 对象的引用、浅拷贝和深拷贝
- 9.7.1 对象的引用
- 9.7.2 对象的浅拷贝
- 9.7.3 对象的深拷贝
- 9.8 可迭代对象:迭代器和生成器
- 9.8.1 可迭代对象
- 9.8.2 迭代器
- 9.8.3 迭代器协议
- 9.8.4 可迭代对象的迭代:iter()函数和next()函数
- 9.8.5 可迭代对象的迭代:for语句
- 9.8.6 自定义可迭代对象和迭代器
- 9.8.7 生成器函数
- 9.8.8 反向迭代:reversed迭代器
- 9.8.9 生成器表达式
- 9.8.10 range可迭代对象
- 9.8.11 map迭代器和itertools.starmap迭代器
- 9.8.12 filter迭代器和itertools.filterfalse迭代器
- 9.8.13 zip迭代器和itertools.zip_longest迭代器
- 9.8.14 enumerate迭代器
- 9.8.15 无穷序列迭代器itertools.count、cycle和repeat
- 9.8.16 累计迭代器itertools.accumulate
- 9.8.17 级联迭代器itertools.chain
- 9.8.18 选择压缩迭代器itertools.compress
- 9.8.19 截取迭代器itertools.dropwhile和takewhile
- 9.8.20 切片迭代器itertools.islice
- 9.8.21 分组迭代器itertools.groupby
- 9.8.22 返回多个迭代器itertools.tee
- 9.8.23 组合迭代器itertools.combinations和combinations_with_replacement
- 9.8.24 排列迭代器itertools.permutations
- 9.8.25 笛卡儿积迭代器itertools.product
- 9.9 自定义类应用举例
- 9.9.1 Color类
- 9.9.2 Histogram类
- 9.10 复习题
- 9.11 上机实践
- 9.12 案例研究:文本相似度比较分析
- 第10章 模块和客户端
- 10.1 模块化程序设计的概念
- 10.1.1 模块化程序设计
- 10.1.2 模块的API
- 10.1.3 模块的实现
- 10.1.4 模块的客户端
- 10.1.5 模块化程序设计的优越性
- 10.2 模块的设计和实现
- 10.2.1 模块设计的一般原则
- 10.2.2 API设计
- 10.2.3 创建模块
- 10.2.4 模块的私有函数
- 10.2.5 模块的测试代码
- 10.2.6 编写模块文档字符串
- 10.2.7 按字节编译的.pyc文件
- 10.3 模块的导入和使用
- 10.3.1 导入模块和使用模块
- 10.3.2 导入模块中的成员
- 10.3.3 重新加载模块
- 10.3.4 动态导入模块
- 10.4 包
- 10.4.1 包的概念
- 10.4.2 创建包
- 10.4.3 包的导入和使用
- 10.5 模块的导入顺序
- 10.5.1 导入模块时的搜索顺序
- 10.5.2 模块搜索路径
- 10.5.3 dir()函数
- 10.6 名称空间与名称查找顺序
- 10.6.1 名称空间概述
- 10.6.2 名称查找顺序
- 10.6.3 顶层模块和__name__变量
- 10.6.4 Python解释器
- 10.6.5 全局名称空间
- 10.6.6 局部名称空间
- 10.6.7 类和对象名称空间
- 10.7 复习题
- 10.8 上机实践
- 10.9 案例研究:基于模块的库存管理系统
- 第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 Python语言提供的查找算法
- 11.3 排序算法
- 11.3.1 冒泡排序法
- 11.3.2 选择排序法
- 11.3.3 插入排序法
- 11.3.4 归并排序法
- 11.3.5 快速排序法
- 11.3.6 Python语言提供的排序算法
- 11.4 常用数据结构
- 11.4.1 数据结构概述
- 11.4.2 常用数据结构概述
- 11.4.3 Python中的collections模块
- 11.5 数组
- 11.5.1 列表和数组
- 11.5.2 array.array对象和数组
- 11.6 栈和队列
- 11.6.1 栈的实现:使用列表
- 11.6.2 deque对象
- 11.6.3 deque作为栈
- 11.6.4 deque作为队列
- 11.7 集合
- 11.7.1 集合的定义
- 11.7.2 集合解析表达式
- 11.7.3 判断集合元素是否存在
- 11.7.4 集合的运算:并集、交集、差集和对称差集
- 11.7.5 集合的比较运算:相等、子集和超集
- 11.7.6 集合的长度、最大值、最小值、元素和
- 11.7.7 可变集合的方法
- 11.8 字典
- 11.8.1 对象的哈希值
- 11.8.2 字典的定义
- 11.8.3 字典的访问操作
- 11.8.4 字典的视图对象
- 11.8.5 字典的遍历
- 11.8.6 字典解析表达式
- 11.8.7 判断字典键是否存在
- 11.8.8 字典对象的长度和比较
- 11.8.9 字典对象的方法
- 11.8.10 defaultdict对象
- 11.8.11 OrderedDict对象
- 11.8.12 ChainMap对象
- 11.8.13 Counter对象
- 11.9 collections模块的其他数据结构
- 11.9.1 namedtuple对象
- 11.9.2 UserDict、UserList和UserString对象
- 11.10 应用举例
- 11.10.1 去除列表中的重复项
- 11.10.2 基于字典的通讯录
- 11.11 复习题
- 11.12 上机实践
- 11.13 案例研究:程序运行时间度量分析
- 第12章 图形用户界面
- 12.1 图形用户界面概述
- 12.1.1 tkinter
- 12.1.2 其他GUI库简介
- 12.2 tkinter概述
- 12.2.1 tkinter模块
- 12.2.2 图形用户界面的构成
- 12.2.3 框架和GUI应用程序类
- 12.2.4 tkinter主窗口
- 12.3 几何布局管理器
- 12.3.1 pack几何布局管理器
- 12.3.2 grid几何布局管理器
- 12.3.3 place几何布局管理器
- 12.4 事件处理
- 12.4.1 事件类型
- 12.4.2 事件绑定
- 12.4.3 事件处理函数
- 12.5 常用组件
- 12.5.1 Label
- 12.5.2 LabelFrame
- 12.5.3 Button
- 12.5.4 Message
- 12.5.5 Entry
- 12.5.6 Text
- 12.5.7 Radiobutton
- 12.5.8 Checkbutton
- 12.5.9 Listbox
- 12.5.10 OptionMenu
- 12.5.11 Scale
- 12.5.12 Toplevel
- 12.5.13 ttk子模块控件
- 12.6 对话框
- 12.6.1 通用消息对话框
- 12.6.2 文件对话框
- 12.6.3 颜色选择对话框
- 12.6.4 通用对话框应用举例
- 12.6.5 简单对话框
- 12.7 菜单和工具栏
- 12.7.1 创建主菜单
- 12.7.2 创建上下文菜单
- 12.7.3 菜单应用举例
- 12.8 基于wxPython的图形用户界面设计入门
- 12.8.1 wxPython概述
- 12.8.2 安装wxPython库
- 12.8.3 wxPython应用程序的基本架构
- 12.8.4 使用wxPython开发简易文本编辑器
- 12.9 复习题
- 12.10 上机实践
- 12.11 案例研究:简易图形用户界面计算器
- 第13章 图形绘制
- 13.1 Python绘图模块概述
- 13.2 基于tkinter的图形绘制
- 13.2.1 基于tkinter的画布绘图概述
- 13.2.2 创建画布对象
- 13.2.3 绘制矩形
- 13.2.4 绘制椭圆
- 13.2.5 绘制圆弧
- 13.2.6 绘制线条
- 13.2.7 绘制多边形
- 13.2.8 绘制字符串
- 13.2.9 应用举例:绘制函数图形
- 13.3 基于turtle模块的海龟绘图
- 13.3.1 海龟绘图概述
- 13.3.2 turtle模块概述
- 13.3.3 绘制正方形
- 13.3.4 绘制多边形
- 13.3.5 绘制圆形螺旋
- 13.3.6 递归图形
- 13.3.7 海龟绘图的应用实例
- 13.4 基于Matplotlib模块的绘图
- 13.4.1 Matplotlib模块概述
- 13.4.2 安装Matplotlib模块
- 13.4.3 使用Matplotlib模块绘图概述
- 13.4.4 绘制函数曲线
- 13.4.5 绘制多个图形
- 13.4.6 绘制直方图
- 13.5 复习题
- 13.6 上机实践
- 13.7 案例研究:汉诺塔问题求解动画
- 第14章 数值日期和时间处理
- 14.1 相关模块概述
- 14.1.1 数值处理的相关模块
- 14.1.2 日期和时间处理的相关模块
- 14.2 math模块和数学函数
- 14.2.1 math模块的API
- 14.2.2 math模块应用举例
- 14.3 cmath模块和复数数学函数
- 14.4 random模块和随机函数
- 14.4.1 种子和随机状态
- 14.4.2 随机整数
- 14.4.3 随机序列
- 14.5 数值运算模块NumPy
- 14.5.1 数值运算模块的基本使用
- 14.5.2 创建数组
- 14.5.3 处理数组
- 14.5.4 数组应用举例
- 14.6 日期和时间处理
- 14.6.1 相关术语
- 14.6.2 时间对象
- 14.6.3 测量程序运行时间
- 14.6.4 日期对象
- 14.6.5 获取当前日期时间
- 14.6.6 日期时间格式化为字符串
- 14.6.7 日期时间字符串解析为日期时间对象
- 14.7 应用举例
- 14.7.1 蒙特卡洛模拟:赌徒破产命运
- 14.7.2 使用随机数估值圆周率
- 14.7.3 程序运行时间测量
- 14.8 复习题
- 14.9 上机实践
- 14.10 案例研究:使用pandas进行数据分析和处理
- 第15章 字符串和文本处理
- 15.1 相关模块概述
- 15.1.1 字符串和文本处理的相关模块
- 15.1.2 字符串处理的常用方法
- 15.2 字符串处理的常用操作
- 15.2.1 字符串的类型判断
- 15.2.2 字符串的大小写转换
- 15.2.3 字符串的填充、空白和对齐
- 15.2.4 字符串的测试、查找和替换
- 15.2.5 字符串的拆分和组合
- 15.2.6 字符串的翻译和转换
- 15.2.7 字符串应用举例
- 15.3 正则表达式
- 15.3.1 正则表达式语言概述
- 15.3.2 正则表达式引擎
- 15.3.3 普通字符和转义字符
- 15.3.4 字符类和预定义字符类
- 15.3.5 边界匹配符
- 15.3.6 重复限定符
- 15.3.7 匹配算法:贪婪和懒惰
- 15.3.8 选择分支
- 15.3.9 分组和向后引用
- 15.3.10 正则表达式的匹配模式
- 15.3.11 常用正则表达式
- 15.4 正则表达式模块re
- 15.4.1 匹配和搜索函数
- 15.4.2 匹配选项
- 15.4.3 正则表达式对象
- 15.4.4 匹配对象
- 15.4.5 匹配和替换
- 15.4.6 分隔字符串
- 15.5 正则表达式应用举例
- 15.5.1 字符串包含验证
- 15.5.2 字符串的查找和拆分
- 15.5.3 字符串的替换和清除
- 15.5.4 字符串的查找和截取
- 15.6 应用举例
- 15.6.1 文本统计
- 15.6.2 基因预测
- 15.6.3 字符串的简单加密和解密
- 15.7 复习题
- 15.8 上机实践
- 15.9 案例研究:NLTK与自然语言处理
- 第16章 文件和数据交换
- 16.1 文件操作相关模块概述
- 16.2 文本文件的读取和写入
- 16.2.1 文本文件的写入
- 16.2.2 文本文件的读取
- 16.2.3 文本文件的编码
- 16.3 二进制文件的读取和写入
- 16.3.1 二进制文件的写入
- 16.3.2 二进制文件的读取
- 16.4 随机文件访问
- 16.5 内存文件的操作
- 16.5.1 StringIO和内存文本文件的操作
- 16.5.2 BytesIO和内存二进制文件的操作
- 16.6 文件的压缩和解压缩
- 16.7 CSV格式文件的读取和写入
- 16.7.1 csv.reader对象和CSV文件的读取
- 16.7.2 csv.writer对象和CSV文件的写入
- 16.7.3 csv.DictReader对象和CSV文件的读取
- 16.7.4 csv.DictWriter对象和CSV文件的写入
- 16.7.5 CSV文件格式化参数和Dialect对象
- 16.8 输入重定向和管道
- 16.8.1 FileInput对象
- 16.8.2 fileinput模块的函数
- 16.8.3 输入重定向
- 16.9 对象序列化
- 16.9.1 对象序列化概述
- 16.9.2 pickle模块和对象序列化
- 16.9.3 json模块和JSON格式数据
- 16.10 复习题
- 16.11 上机实践
- 16.12 案例研究:百度音乐批量下载器
- 第17章 数据库访问
- 17.1 数据库基础
- 17.1.1 数据库的概念
- 17.1.2 关系数据库
- 17.2 Python数据库访问模块
- 17.2.1 通用数据库访问模块
- 17.2.2 专用数据库访问模块
- 17.2.3 SQLite数据库和sqlite3模块
- 17.3 使用sqlite3模块连接和操作SQLite数据库
- 17.3.1 访问数据库的步骤
- 17.3.2 创建数据库和表
- 17.3.3 数据库表的插入、更新和删除操作
- 17.3.4 数据库表的查询操作
- 17.4 使用SQLiteStudio查看和维护SQLite数据库
- 17.5 复习题
- 17.6 上机实践
- 17.7 案例研究:基于数据库和GUI的教务管理系统
- 第18章 网络编程和通信
- 18.1 网络编程的基本概念
- 18.1.1 网络基础知识
- 18.1.2 TCP/IP协议简介
- 18.1.3 IP地址和域名
- 18.1.4 统一资源定位器
- 18.2 基于socket的网络编程
- 18.2.1 socket概述
- 18.2.2 创建socket对象
- 18.2.3 将服务器端socket绑定到指定地址
- 18.2.4 服务器端socket开始侦听
- 18.2.5 连接和接收连接
- 18.2.6 发送和接收数据
- 18.2.7 简单TCP程序:Echo Server
- 18.2.8 简单UDP程序:Echo Server
- 18.2.9 UDP程序:Quote Server
- 18.3 基于urllib的网络编程
- 18.3.1 打开和读取URL网络资源
- 18.3.2 创建Request对象
- 18.4 基于http的网络编程
- 18.5 基于ftplib的网络编程
- 18.5.1 创建FTP对象
- 18.5.2 创建FTP_TLS对象
- 18.6 基于poplib和smtplib的网络编程
- 18.6.1 使用poplib接收邮件
- 18.6.2 使用smtplib发送邮件
- 18.7 复习题
- 18.8 上机实践
- 18.9 案例研究:网络爬虫案例
- 第19章 并行计算:进程、线程和协程
- 19.1 并行处理概述
- 19.1.1 进程、线程和协程
- 19.1.2 Python语言与并行处理相关模块
- 19.2 基于线程的并发处理
- 19.2.1 threading模块概述
- 19.2.2 使用Thread对象创建线程
- 19.2.3 自定义派生于Thread的对象
- 19.2.4 线程加入
- 19.2.5 用户线程和daemon线程
- 19.2.6 Timer线程
- 19.2.7 基于原语锁的简单同步
- 19.2.8 基于条件变量的同步和通信
- 19.2.9 基于queue模块中队列的同步
- 19.2.10 基于Event的同步和通信
- 19.3 基于进程的并行计算
- 19.3.1 multiprocessing模块概述
- 19.3.2 创建和使用进程
- 19.3.3 进程的数据共享
- 19.3.4 进程池
- 19.4 基于线程池/进程池的并发和并行任务
- 19.4.1 concurrent.futures模块概述
- 19.4.2 使用ThreadPoolExecutor并发执行任务
- 19.4.3 使用ProcessPoolExecutor并发执行任务
- 19.5 基于asyncio的异步IO编程
- 19.5.1 asyncio模块概述
- 19.5.2 创建协程对象
- 19.5.3 创建任务对象
- 19.6 应用举例
- 19.6.1 使用Pool并行计算查找素数
- 19.6.2 使用ProcessPoolExecutor并行判断素数
- 19.6.3 使用ThreadPoolExecutor多线程爬取网页
- 19.7 复习题
- 19.8 上机实践
- 19.9 案例研究:文本统计并行处理
- 第20章 系统管理
- 20.1 系统管理相关模块
- 20.2 目录、文件和磁盘的基本操作
- 20.2.1 创建目录
- 20.2.2 临时目录和文件的创建
- 20.2.3 切换和获取当前工作目录
- 20.2.4 目录内容列表
- 20.2.5 文件通配符和glob.glob()函数
- 20.2.6 遍历目录和os.walk()函数
- 20.2.7 判断文件/目录是否存在
- 20.2.8 测试文件类型
- 20.2.9 文件的日期及大小
- 20.2.10 文件和目录的删除
- 20.2.11 文件和目录的复制、重命名和移动
- 20.2.12 磁盘的基本操作
- 20.3 执行操作系统命令和运行其他程序
- 20.3.1 os.system()函数
- 20.3.2 os.popen()函数
- 20.3.3 subprocess模块
- 20.4 获取终端的大小
- 20.5 文件的压缩和解压缩
- 20.5.1 shutil模块支持的压缩和解压缩格式
- 20.5.2 make_archive()函数和文件压缩
- 20.5.3 unpack_archive()函数和文件解压缩
- 20.6 configparser模块和配置文件
- 20.6.1 INI文件及INI文件格式
- 20.6.2 ConfigParser对象和INI文件操作
- 20.7 应用举例
- 20.7.1 病毒扫描
- 20.7.2 文件目录树
- 20.8 复习题
- 20.9 上机实践
- 20.10 案例研究:简易图形用户界面压缩软件
- 参考文献
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。