展开全部

主编推荐语

基于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 案例研究:简易图形用户界面压缩软件
  • 参考文献
展开全部

评分及书评

评分不足
1个评分
  • 用户头像
    给这本书评了
    5.0
    一本不错的Python书

    自己习惯学习一门语言先把整体轮廓看书勾勒一遍,再在开源项目中融会贯通,所以先看了几本书。真是奇了个怪了,买的 2 本 Python 的书一直让我不满意,反而是在得到电子书看的两本 Python 书挺好的,讲解挺全的,可以初学,也可以当做参考手册。

      转发
      评论

    出版方

    清华大学出版社

    清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。