Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)

Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2023-04
版次: 3
ISBN: 9787302623816
定价: 59.80
装帧: 其他
开本: 16开
纸张: 胶版纸
17人买过
  • 本书集教材、练习册、上机指导、题库于一体,基于Windows 10和Python 3.10构建Python开发平台,阐述Python语言的基础知识,以及使用Python语言的实际开发应用实例,具体内容包括Python 程序设计导论,Python语言基础,程序流程控制,常用内置数据类型,组合数据类型,输入、输出和文件,错误和异常处理,函数和函数式编程,面向对象的程序设计,模块和 模块化程序设计,数据结构与算法基础,图形用户界面,图形绘制和数据可视化,数值日期和时间处理,字符串和文本处理,数据库访问,网络编程和通信,并行计算,系统管理以及Python计算生态等。 本书编者结合多年的程序设计、系统开发以及授课经验,由浅入深、循序渐进地介绍Python程序设计语言,让读者能够较为系统全面地掌握程序设计的理论和应用。本书提供了近1000个实例、523道习题、600多个实践操作任务、48个综合应用案例及 1100分钟教学视频。 本书可作为高等院校各专业的计算机程序设计教程,也可作为广大程序设计开发者、爱好者的自学参考书。 第1章Python程序设计导论

    1.1程序设计语言

    1.1.1计算机和程序

    1.1.2程序设计和编程语言

    1.1.3计算思维和程序设计方法

    1.1.4程序的编写和执行

    1.2Python语言概述

    1.2.1Python语言简介

    1.2.2Python语言的特点

    1.2.3Python语言的应用范围

    1.3Python语言版本和开发环境

    1.3.1Python语言的版本

    1.3.2Python语言的实现

    1.3.3Python语言的集成开发环境

    1.3.4下载Python

    1.3.5安装Python

    1.3.6安装和管理Python扩展包

    1.4使用Python解释器解释

    执行Python程序

    1.4.1运行Python解释器

    1.4.2运行Python集成开发

    环境

    1.5使用文本编辑器和命令行编写

    和执行Python源文件程序

    1.5.1编写输出“Hello,World!”

    程序

    1.5.2运行Python源代码程序

    1.5.3命令行参数

    1.6使用集成开发环境(IDLE)编写

    和执行Python源文件程序

    1.6.1使用IDLE编写程序

    1.6.2使用IDLE编辑和执行

    程序

    1.7程序的打包和发布

    1.7.1安装PyInstaller

    1.7.2使用PyInstaller生成可执行

    程序

    1.8在线帮助和相关资源

    1.8.1Python交互式帮助系统

    1.8.2Python文档

    1.8.3Python官网

    1.8.4PEP

    1.8.5Python扩展库索引(PyPI)

    1.9习题

    1.10上机实践

    1.11案例研究1: 安装和使用

    Python科学计算环境

    Anaconda

    1.12案例研究2: 安装和使用

    PyCharm开发环境

    第2章Python语言基础

    2.1Python程序概述

    2.1.1引例

    2.1.2Python程序构成

    2.2Python对象和引用

    2.2.1Python对象概述

    2.2.2字面量和对象的创建

    2.2.3创建对象的其他方法

    2.2.4数据类型

    2.2.5变量和对象的引用

    2.2.6Python是动态类型语言

    2.2.7Python是强类型语言

    2.2.8对象内存示意图

    2.2.9对象的值比较(==)和引用

    判别(is)

    2.2.10不可变对象(immutable)和

    可变对象(mutable)

    2.3标识符及其命名规则

    2.3.1标识符

    2.3.2保留关键字

    2.3.3Python预定义标识符

    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.4Python运算符及其优先级

    2.6语句

    2.6.1Python语句

    2.6.2Python语句的书写规则

    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.9.1模块和包的概念

    2.9.2导入和使用模块

    2.10综合应用: turtle模块和

    海龟绘图

    2.10.1海龟绘图概述

    2.10.2绘制正方形

    2.10.3海龟绘图应用实例

    2.11习题

    2.12上机实践

    2.13案例研究: 使用Pillow库

    处理图像文件

    第3章程序流程控制

    3.1程序的流程

    3.1.1输入、处理和输出

    3.1.2算法和数据结构

    3.1.3程序流程图

    3.2顺序结构

    3.3选择结构

    3.3.1分支结构的形式

    3.3.2单分支结构

    3.3.3双分支结构

    3.3.4多分支结构

    3.3.5if语句的嵌套

    3.3.6if语句典型示例代码

    3.3.7选择结构综合举例

    3.4循环结构

    3.4.1可迭代对象

    3.4.2range对象

    3.4.3for循环

    3.4.4while循环

    3.4.5循环的嵌套

    3.4.6break语句

    3.4.7continue语句

    3.4.8死循环(无限循环)

    3.4.9else子句

    3.4.10enumerate()函数和循环

    3.4.11zip()函数和循环

    3.4.12map()函数和循环

    3.4.13循环语句典型示例代码

    3.4.14循环结构综合举例

    3.5综合应用: turtle模块的复杂

    图形绘制

    3.5.1绘制正方形(改进版)

    3.5.2绘制圆形螺旋

    3.6习题

    3.7上机实践

    3.8案例研究: 使用嵌套循环实现

    图像处理算法

    第4章常用内置数据类型

    4.1Python内置数据类型概述

    4.1.1数值数据类型

    4.1.2序列数据类型

    4.1.3集合数据类型

    4.1.4字典数据类型

    4.1.5NoneType、NotImplementedType

    和EllipsisType

    4.1.6其他数据类型

    4.2int数据类型(任意精度整数)

    4.2.1整型字面量

    4.2.2int对象

    4.2.3int对象的方法

    4.2.4整数的运算

    4.3float类型(有限精度浮点数)

    4.3.1浮点类型字面量

    4.3.2float对象

    4.3.3float对象的方法

    4.3.4浮点数的表示和相等性

    比较

    4.3.5浮点数的运算

    4.4bool数据类型

    4.4.1布尔值字面量

    4.4.2bool对象

    4.4.3布尔值的运算

    4.5complex类型

    4.5.1复数字面量

    4.5.2complex对象

    4.5.3complex对象的属性和

    方法

    4.5.4复数的运算

    4.6条件表达式、关系运算符、测试

    运算符和逻辑运算符

    4.6.1条件表达式

    4.6.2关系运算符和测试

    运算符

    4.6.3逻辑运算符

    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.10math模块和数学函数

    4.10.1math模块的API

    4.10.2math模块应用举例

    4.11random模块和随机函数

    4.11.1种子和随机状态

    4.11.2随机整数

    4.11.3随机序列

    4.12综合应用举例

    4.12.1蒙特卡罗模拟: 赌徒破产

    命运

    4.12.2使用随机数估算圆周率

    4.12.3使用阿基米德方法估算

    圆周率

    4.13习题

    4.14上机实践

    4.15案例研究: 科学计算和数据

    分析

    第5章组合数据类型

    5.1Python序列数据概述

    5.1.1数组

    5.1.2序列数据类型

    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使用list对象创建列表实例

    对象

    5.3.3列表解析表达式

    5.3.4列表的序列操作

    5.3.5列表对象的方法

    5.3.6列表的典型示例代码

    5.4元组

    5.4.1使用元组字面量创建元组

    实例对象

    5.4.2使用tuple对象创建元组

    实例对象

    5.4.3元组的序列操作

    5.4.4元组对象的方法

    5.4.5元组的典型示例代码

    5.5字符串

    5.5.1使用字符串字面量创建

    字符串对象

    5.5.2字符串编码

    5.5.3转义字符

    5.5.4使用内置函数str()创建字符

    串对象

    5.5.5字符串的序列操作

    5.5.6字符串对象的方法

    5.5.7字符串的格式化

    5.5.8f字符串(字符串插值)

    5.5.9字符串的典型示例代码

    5.5.10字符串应用举例

    5.6字节序列

    5.6.1bytes字面量

    5.6.2创建bytes对象

    5.6.3创建bytearray对象

    5.6.4bytes和bytearray的序列

    操作

    5.6.5字节编码和字节解码

    5.6.6字节序列的典型示例

    代码

    5.7字典(映射)

    5.7.1对象的哈希(hash)值

    5.7.2字典的定义

    5.7.3字典解析表达式

    5.7.4字典的访问操作

    5.7.5字典的视图对象

    5.7.6字典的遍历

    5.7.7判断字典键是否存在

    5.7.8字典对象的长度和比较

    5.7.9字典对象的方法

    5.7.10字典的典型示例代码

    5.8集合

    5.8.1集合的定义

    5.8.2集合解析表达式

    5.8.3判断集合元素是否存在

    5.8.4集合的运算: 并集、交集、差集

    和对称差集

    5.8.5集合的比较运算: 相等、子集

    和超集

    5.8.6集合的长度、最大值、最小值、

    元素和

    5.8.7可变集合的方法

    5.8.8集合的典型示例代码

    5.9数据类型综合应用举例

    5.9.1字符串简单加密和解密

    5.9.2去除列表中的重复项

    5.9.3基于列表的简易花名册

    管理系统

    5.9.4频数表和直方图

    5.10习题

    5.11上机实践

    5.12案例研究: 猜单词游戏

    第6章输入、输出和文件

    6.1输入和输出概述

    6.2命令行参数

    6.2.1sys.argv与命令行参数

    6.2.2argparse模块和命令行参数

    解析

    6.3标准输入函数和标准输出

    函数

    6.3.1输入函数和输出函数

    6.3.2交互式用户输入

    6.3.3运行时提示输入密码

    6.4文件和文件对象

    6.4.1文件对象和open函数

    6.4.2文件的打开、写入、读取和

    关闭

    6.4.3with语句和上下文管理

    协议

    6.5文本文件的写入、读取和

    编码

    6.5.1文本文件的写入

    6.5.2文本文件的读取

    6.5.3文本文件的编码

    6.6二进制文件的写入和读取

    6.6.1二进制文件的写入

    6.6.2二进制文件的读取

    6.7随机文件的写入和读取

    6.8CSV格式文件的读取和

    写入

    6.8.1CSV格式文件和csv模块

    6.8.2csv.reader对象和CSV

    文件的读取

    6.8.3csv.writer对象和CSV

    文件的写入

    6.9对象序列化

    6.9.1对象序列化概述

    6.9.2pickle模块和对象序列化

    6.9.3json模块和JSON格式

    数据

    6.10os模块和文件目录操作

    6.11标准输入、输出和错误流

    6.11.1标准输入、输出和错误流

    文件对象

    6.11.2读取任意长度的输入流

    6.11.3标准输入、输出和错误

    流重定向

    6.12重定向和管道

    6.12.1重定向标准输出到一个

    文件

    6.12.2重定向文件到标准输入

    6.12.3管道

    6.12.4过滤器

    6.13综合应用: 文件数据的统计

    和分析

    6.13.1统计存储在文本文件中

    的学生成绩信息

    6.13.2统计存储在文本文件中

    的天气温度信息

    6.13.3统计存储在CSV文件中

    的学生成绩信息

    6.13.4基于字典的通讯录

    6.14习题

    6.15上机实践

    6.16案例研究: 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.5Python虚拟机捕获处理

    异常

    7.2.6使用try…except…else…finally

    语句捕获处理异常

    7.2.7捕获异常的顺序

    7.2.8finally块和发生异常后的

    处理

    7.2.9自定义异常类

    7.3断言处理

    7.3.1断言处理概述

    7.3.2assert语句和AssertionError类

    7.3.3启用/禁用断言

    7.4程序的基本调试方法

    7.4.1语法错误的调试

    7.4.2运行时错误的调试

    7.4.3逻辑错误的调试

    7.5使用logging模块记录

    日志

    7.5.1logging模块概述

    7.5.2logging的配置和使用

    7.6综合应用: 错误和异常

    处理

    7.6.1两个整数的输入及求和

    7.6.2打开指定的文件并显示文件

    的内容

    7.7习题

    7.8上机实践

    7.9案例研究: 使用调试器调试

    Python程序

    第8章函数和函数式编程

    8.1函数概述

    8.1.1函数的基本概念

    8.1.2函数的功能

    8.1.3Python函数分类

    8.2函数的声明和调用

    8.2.1函数对象的创建

    8.2.2函数的调用

    8.2.3函数的副作用

    8.2.4lambda表达式和匿名

    函数

    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强制命名参数(Keywordonly)

    8.3.9参数类型检查和类型注解

    (annotation)

    8.4函数的返回值

    8.4.1return语句和函数返

    回值

    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查看局部变量和全局变量

    (locals和globals函数)

    8.6递归函数

    8.6.1递归函数的定义

    8.6.2递归函数的原理

    8.6.3编写递归函数需要注意的

    问题

    8.6.4递归函数的应用: 最大公

    约数

    8.6.5递归函数的应用: 

    汉诺塔

    8.7内置函数的使用

    8.7.1内置函数一览

    8.7.2eval()函数(动态表达式的

    求值)

    8.7.3exec()函数(动态语句的

    执行)

    8.7.4compile()函数

    8.8Python函数式编程基础

    8.8.1作为对象的函数

    8.8.2高阶函数

    8.8.3map()函数

    8.8.4filter()函数

    8.8.5operator模块和操作符

    函数

    8.8.6functools.reduce()函数

    8.8.7偏函数

    8.8.8sorted()函数

    8.8.9函数装饰器

    8.9综合应用: turtle模块绘制

    复杂的图形

    8.9.1绘制多边形

    8.9.2递归图形

    8.10习题

    8.11上机实践

    8.12案例研究: 井字棋游戏

    第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静态方法(@staticmethod)

    9.4.3类方法(@classmethod)

    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.10range可迭代对象

    9.8.11map迭代器和itertools.starmap

    迭代器

    9.8.12filter迭代器和itertools.filterfalse

    迭代器

    9.8.13zip迭代器和itertools.zip_longest

    迭代器

    9.8.14enumerate迭代器

    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.comb

    inations和combinations_with_

    replacement

    9.8.24排列迭代器itertools.

    permutations

    9.8.25笛卡儿积迭代器itertools.

    product

    9.9自定义类应用举例

    9.9.1Color类

    9.9.2Histogram类

    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.2API设计

    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.3.5查看导入的模块

    10.4包

    10.4.1包的概念

    10.4.2创建包

    10.4.3包的导入和使用

    10.5模块的导入顺序

    10.5.1import语句导入模块的

    类型

    10.5.2模块搜索路径

    10.5.3导入模块时的搜索

    顺序

    10.5.4dir()函数

    10.6名称空间与名称查找

    顺序

    10.6.1名称空间概述

    10.6.2名称查找顺序

    10.6.3顶层模块和__name__

    变量

    10.6.4Python解释器是顶层

    模块

    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栈

    11.2.4树

    11.2.5图

    11.2.6堆

    11.2.7散列表

    11.3算法及其性能分析

    11.3.1算法概述

    11.3.2算法的时间复杂度

    分析

    11.3.3增长量级

    11.3.4算法的空间复杂度

    分析

    11.4查找算法

    11.4.1顺序查找法

    11.4.2二分查找法

    11.4.3Python语言提供的查找

    算法

    11.5排序算法

    11.5.1冒泡排序法

    11.5.2选择排序法

    11.5.3插入排序法

    11.5.4归并排序法

    11.5.5快速排序法

    11.5.6Python语言提供的排序

    算法

    11.6数组

    11.6.1列表和数组

    11.6.2array.array对象和

    数组

    11.7栈和队列

    11.7.1栈的实现: 使用列表

    11.7.2deque对象

    11.7.3deque作为栈

    11.7.4deque作为队列

    11.8collections模块的其他数据

    结构

    11.8.1collections模块概述

    11.8.2namedtuple对象

    11.8.3UserDict、UserList和

    UserString对象

    11.8.4defaultdict对象

    11.8.5OrderedDict对象

    11.8.6ChainMap对象

    11.8.7Counter对象

    11.9习题

    11.10上机实践

    11.11案例研究: 程序运行时间

    度量分析

    第12章图形用户界面

    12.1图形用户界面概述

    12.1.1tkinter

    12.1.2其他GUI库简介

    12.2tkinter概述

    12.2.1tkinter模块

    12.2.2图形用户界面构成

    12.2.3框架和GUI应用

    程序类

    12.2.4tkinter主窗口

    12.3几何布局管理器

    12.3.1pack几何布局管理器

    12.3.2grid几何布局管理器

    12.3.3place几何布局管理器

    12.4事件处理

    12.4.1事件类型

    12.4.2事件绑定

    12.4.3事件处理函数

    12.5常用组件

    12.5.1Label(标签)

    12.5.2LabelFrame(标签框架)

    12.5.3Button(按钮)

    12.5.4Message(消息)

    12.5.5Entry(单行文本框)

    12.5.6Text(多行文本框)

    12.5.7Radiobutton(单选按钮)

    12.5.8Checkbutton(复选框)

    12.5.9Listbox(列表框)

    12.5.10OptionMenu(选择项)

    12.5.11Scale(移动滑块)

    12.5.12Toplevel(顶层窗口)

     

    12.5.13ttk(子模块控件)

    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.1wxPython概述

    12.8.2安装wxPython库

    12.8.3wxPython应用程序的

    基本架构

    12.8.4使用wxPython开发简易

    文本编辑器

    12.9习题

    12.10上机实践

    12.11案例研究1: 简易图形用户

    界面计算器

    12.12案例研究2: 百度音乐批量

    下载器

    第13章图形绘制和数据可视化

    13.1Python绘图模块概述

    13.2Matplotlib模块

    13.2.1Matplotlib模块概述

    13.2.2图形显示: 用户界面

    后端

    13.2.3输出格式: 硬拷贝

    后端

    13.2.4Matplotlib的特点

    13.2.5安装Matplotlib

    13.3Matplotlib基本绘图

    13.3.1绘制折线图: 使用一个

    列表数据

    13.3.2绘制折线图: 使用两个

    列表数据

    13.3.3绘制多条曲线图

    13.3.4设置坐标轴范围

    13.3.5设置坐标轴标题和图表

    标题

    13.3.6设置图例

    13.3.7保存图形到文件

    13.3.8基本绘图应用举例

    13.4常用图表类型的绘制

    13.4.1选择图表类型

    13.4.2条形图

    13.4.3饼图

    13.4.4散点图

    13.4.5直方图

    13.5面向对象的Matplotlib

    绘图

    13.5.1面向对象的绘图

    13.5.2绘制多个子图

    13.6习题

    13.7上机实践

    13.8案例研究: 汉诺塔问题求解

    动画

    第14章数值日期和时间处理

    14.1相关模块概述

    14.1.1数值处理的相关模块

    14.1.2日期和时间处理的相关

    模块

    14.2cmath模块和复数数学

    函数

    14.3数值运算模块NumPy

    14.3.1数值运算模块的基本

    使用

    14.3.2创建数组

    14.3.3处理数组

    14.3.4数组应用举例

    14.4日期和时间处理

    14.4.1相关术语

    14.4.2时间对象

    14.4.3测量程序运行时间

    14.4.4日期对象

    14.4.5获取当前日期和时间

    14.4.6日期和时间格式化为字

    符串

    14.4.7日期和时间字符串解析为

    日期和时间对象

    14.5综合应用举例

    14.6习题

    14.7上机实践

    14.8案例研究: 使用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.2.8选择分支

    15.2.9分组和向后引用

    15.2.10正则表达式的匹配

    模式

    15.2.11常用正则表达式

    15.3正则表达式模块re

    15.3.1匹配和搜索函数

    15.3.2匹配选项

    15.3.3正则表达式对象

    15.3.4匹配对象

    15.3.5匹配和替换

    15.3.6分隔字符串

    15.4正则表达式应用举例

    15.4.1字符串包含验证

    15.4.2字符串查找和拆分

    15.4.3字符串替换和清除

    15.4.4字符串查找和截取

    15.5中文分词库jieba

    15.5.1安装jieba库

    15.5.2jieba库的分词模式和

    常用函数

    15.5.3使用jieba库分析统计

    中文文档

    15.6词云库Wordcloud

    15.6.1安装Wordcloud

    15.6.2Wordcloud库的API

    15.6.3定制词云图的绘制参数

    15.6.4使用Wordcloud库显示

    中文词云图

    15.7综合应用举例

    15.7.1文本统计

    15.7.2基因预测

    15.8习题

    15.9上机实践

    15.10案例研究: NLTK与自然

    语言处理

    第16章数据库访问

    16.1数据库基础

    16.1.1数据库的概念

    16.1.2数据库模型

    16.1.3关系数据库

    16.2Python数据库访问模块

    16.2.1通用数据库访问模块

    16.2.2专用数据库访问模块

    16.2.3SQLite数据库和sqlite3

    模块

    16.3使用sqlite3模块连接和

    操作SQLite数据库

    16.3.1访问数据库的典型

    步骤

    16.3.2创建数据库和表

    16.3.3数据库表的插入、更新和

    删除操作

    16.3.4数据库表的查询操作

    16.4使用SQLiteStudio查看和

    维护SQLite数据库

    16.5习题

    16.6上机实践

    16.7案例研究1: 基于数据库和

    GUI的教务管理系统

    16.8案例研究2: 基于MySQL的

    库存管理系统

    第17章网络编程和通信

    17.1网络编程的基本概念

    17.1.1网络基础知识

    17.1.2TCP/IP协议简介

    17.1.3IP地址和域名

    17.1.4统一资源定位器

    17.2基于socket的网络

    编程

    17.2.1socket概述

    17.2.2创建socket对象

    17.2.3将服务器端socket绑定到

    指定地址上

    17.2.4服务器端socket开始

    侦听

    17.2.5连接和接收连接

    17.2.6发送和接收数据

    17.2.7简单TCP程序: 

    Echo Server

    17.2.8简单UDP程序: 

    Echo Server

    17.2.9UDP程序: Quote Server

    17.3基于urllib的网络编程

    17.3.1打开和读取URL网络

    资源

    17.3.2创建Request对象

    17.4基于http的网络编程

    17.5基于ftplib的网络编程

    17.6基于poplib和smtplib的

    网络编程

    17.6.1使用poplib接收邮件

    17.6.2使用smtplib发送邮件

    17.7习题

    17.8上机实践

    17.9案例研究: 网络爬虫实现

    案例

    第18章并行计算: 进程、线程和

    协程

    18.1并行处理概述

    18.1.1进程、线程和协程

    18.1.2Python语言与并行处理

    相关模块

    18.2基于线程的并发处理

    18.2.1threading模块概述

    18.2.2使用Thread对象创建

    线程

    18.2.3自定义派生于Thread的

    对象

    18.2.4线程加入

    18.2.5用户线程和daemon

    线程

    18.2.6Timer线程

    18.2.7基于原语锁的简单

    同步

    18.2.8基于条件变量的同步

    和通信

    18.2.9基于queue模块中队列

    的同步

    18.2.10基于Event的同步和

    通信

    18.3基于进程的并行计算

    18.3.1multiprocessing模块

    概述

    18.3.2创建和使用进程

    18.3.3进程的数据共享

    18.3.4进程池

    18.4基于线程池/进程池的并发和

    并行任务

    18.4.1concurrent.futures模块

    概述

    18.4.2使用ThreadPoolExecutor

    并发执行任务

    18.4.3使用ProcessPoolExecutor

    并发执行任务

    18.5基于asyncio的异步IO

    编程

    18.5.1asyncio模块概述

    18.5.2创建协程对象

    18.5.3创建任务对象

    18.6应用举例

    18.6.1使用Pool并行计算查找

    素数

    18.6.2使用ProcessPoolExecutor

    并行判断素数

    18.6.3使用ThreadPoolExecutor

    多线程爬取网页

    18.7习题

    18.8上机实践

    18.9案例研究: 文本统计并行

    处理

    第19章系统管理

    19.1系统管理相关模块

    19.2目录、文件和磁盘的基本

    操作

    19.2.1创建目录

    19.2.2临时目录和文件的

    创建

    19.2.3切换和获取当前工作

    目录

    19.2.4目录内容列表

    19.2.5文件通配符和glob.glob()

    函数

    19.2.6遍历目录和os.walk()

    函数

    19.2.7判断文件/目录是否

    存在

    19.2.8测试文件类型

    19.2.9文件的日期及大小

    19.2.10文件和目录的删除

    19.2.11文件和目录的复制、

    重命名和移动

    19.2.12磁盘的基本操作

    19.3执行操作系统命令和运行

    其他程序

    19.3.1os.system()函数

    19.3.2os.popen()函数

    19.3.3subprocess模块

    19.4获取终端的大小

    19.5文件的压缩和解压缩

    19.5.1shutil模块支持的压缩和

    解压缩格式

    19.5.2make_archive()函数和文件

    压缩

    19.5.3unpack_archive()函数和

    文件解压缩

    19.6configparser模块和配置

    文件

    19.6.1INI文件及INI文件

    格式

    19.6.2ConfigParser对象和INI

    文件操作

    19.7应用举例

    19.7.1病毒扫描

    19.7.2文件目录树

    19.8习题

    19.9上机实践

    19.10案例研究1: 简易图形用户

    界面压缩软件

    19.11案例研究2: 使用scikitlearn

    进行机器学习

    附录Python计算生态

    参考文献

     

     
  • 内容简介:
    本书集教材、练习册、上机指导、题库于一体,基于Windows 10和Python 3.10构建Python开发平台,阐述Python语言的基础知识,以及使用Python语言的实际开发应用实例,具体内容包括Python 程序设计导论,Python语言基础,程序流程控制,常用内置数据类型,组合数据类型,输入、输出和文件,错误和异常处理,函数和函数式编程,面向对象的程序设计,模块和 模块化程序设计,数据结构与算法基础,图形用户界面,图形绘制和数据可视化,数值日期和时间处理,字符串和文本处理,数据库访问,网络编程和通信,并行计算,系统管理以及Python计算生态等。 本书编者结合多年的程序设计、系统开发以及授课经验,由浅入深、循序渐进地介绍Python程序设计语言,让读者能够较为系统全面地掌握程序设计的理论和应用。本书提供了近1000个实例、523道习题、600多个实践操作任务、48个综合应用案例及 1100分钟教学视频。 本书可作为高等院校各专业的计算机程序设计教程,也可作为广大程序设计开发者、爱好者的自学参考书。
  • 目录:
    第1章Python程序设计导论

    1.1程序设计语言

    1.1.1计算机和程序

    1.1.2程序设计和编程语言

    1.1.3计算思维和程序设计方法

    1.1.4程序的编写和执行

    1.2Python语言概述

    1.2.1Python语言简介

    1.2.2Python语言的特点

    1.2.3Python语言的应用范围

    1.3Python语言版本和开发环境

    1.3.1Python语言的版本

    1.3.2Python语言的实现

    1.3.3Python语言的集成开发环境

    1.3.4下载Python

    1.3.5安装Python

    1.3.6安装和管理Python扩展包

    1.4使用Python解释器解释

    执行Python程序

    1.4.1运行Python解释器

    1.4.2运行Python集成开发

    环境

    1.5使用文本编辑器和命令行编写

    和执行Python源文件程序

    1.5.1编写输出“Hello,World!”

    程序

    1.5.2运行Python源代码程序

    1.5.3命令行参数

    1.6使用集成开发环境(IDLE)编写

    和执行Python源文件程序

    1.6.1使用IDLE编写程序

    1.6.2使用IDLE编辑和执行

    程序

    1.7程序的打包和发布

    1.7.1安装PyInstaller

    1.7.2使用PyInstaller生成可执行

    程序

    1.8在线帮助和相关资源

    1.8.1Python交互式帮助系统

    1.8.2Python文档

    1.8.3Python官网

    1.8.4PEP

    1.8.5Python扩展库索引(PyPI)

    1.9习题

    1.10上机实践

    1.11案例研究1: 安装和使用

    Python科学计算环境

    Anaconda

    1.12案例研究2: 安装和使用

    PyCharm开发环境

    第2章Python语言基础

    2.1Python程序概述

    2.1.1引例

    2.1.2Python程序构成

    2.2Python对象和引用

    2.2.1Python对象概述

    2.2.2字面量和对象的创建

    2.2.3创建对象的其他方法

    2.2.4数据类型

    2.2.5变量和对象的引用

    2.2.6Python是动态类型语言

    2.2.7Python是强类型语言

    2.2.8对象内存示意图

    2.2.9对象的值比较(==)和引用

    判别(is)

    2.2.10不可变对象(immutable)和

    可变对象(mutable)

    2.3标识符及其命名规则

    2.3.1标识符

    2.3.2保留关键字

    2.3.3Python预定义标识符

    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.4Python运算符及其优先级

    2.6语句

    2.6.1Python语句

    2.6.2Python语句的书写规则

    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.9.1模块和包的概念

    2.9.2导入和使用模块

    2.10综合应用: turtle模块和

    海龟绘图

    2.10.1海龟绘图概述

    2.10.2绘制正方形

    2.10.3海龟绘图应用实例

    2.11习题

    2.12上机实践

    2.13案例研究: 使用Pillow库

    处理图像文件

    第3章程序流程控制

    3.1程序的流程

    3.1.1输入、处理和输出

    3.1.2算法和数据结构

    3.1.3程序流程图

    3.2顺序结构

    3.3选择结构

    3.3.1分支结构的形式

    3.3.2单分支结构

    3.3.3双分支结构

    3.3.4多分支结构

    3.3.5if语句的嵌套

    3.3.6if语句典型示例代码

    3.3.7选择结构综合举例

    3.4循环结构

    3.4.1可迭代对象

    3.4.2range对象

    3.4.3for循环

    3.4.4while循环

    3.4.5循环的嵌套

    3.4.6break语句

    3.4.7continue语句

    3.4.8死循环(无限循环)

    3.4.9else子句

    3.4.10enumerate()函数和循环

    3.4.11zip()函数和循环

    3.4.12map()函数和循环

    3.4.13循环语句典型示例代码

    3.4.14循环结构综合举例

    3.5综合应用: turtle模块的复杂

    图形绘制

    3.5.1绘制正方形(改进版)

    3.5.2绘制圆形螺旋

    3.6习题

    3.7上机实践

    3.8案例研究: 使用嵌套循环实现

    图像处理算法

    第4章常用内置数据类型

    4.1Python内置数据类型概述

    4.1.1数值数据类型

    4.1.2序列数据类型

    4.1.3集合数据类型

    4.1.4字典数据类型

    4.1.5NoneType、NotImplementedType

    和EllipsisType

    4.1.6其他数据类型

    4.2int数据类型(任意精度整数)

    4.2.1整型字面量

    4.2.2int对象

    4.2.3int对象的方法

    4.2.4整数的运算

    4.3float类型(有限精度浮点数)

    4.3.1浮点类型字面量

    4.3.2float对象

    4.3.3float对象的方法

    4.3.4浮点数的表示和相等性

    比较

    4.3.5浮点数的运算

    4.4bool数据类型

    4.4.1布尔值字面量

    4.4.2bool对象

    4.4.3布尔值的运算

    4.5complex类型

    4.5.1复数字面量

    4.5.2complex对象

    4.5.3complex对象的属性和

    方法

    4.5.4复数的运算

    4.6条件表达式、关系运算符、测试

    运算符和逻辑运算符

    4.6.1条件表达式

    4.6.2关系运算符和测试

    运算符

    4.6.3逻辑运算符

    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.10math模块和数学函数

    4.10.1math模块的API

    4.10.2math模块应用举例

    4.11random模块和随机函数

    4.11.1种子和随机状态

    4.11.2随机整数

    4.11.3随机序列

    4.12综合应用举例

    4.12.1蒙特卡罗模拟: 赌徒破产

    命运

    4.12.2使用随机数估算圆周率

    4.12.3使用阿基米德方法估算

    圆周率

    4.13习题

    4.14上机实践

    4.15案例研究: 科学计算和数据

    分析

    第5章组合数据类型

    5.1Python序列数据概述

    5.1.1数组

    5.1.2序列数据类型

    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使用list对象创建列表实例

    对象

    5.3.3列表解析表达式

    5.3.4列表的序列操作

    5.3.5列表对象的方法

    5.3.6列表的典型示例代码

    5.4元组

    5.4.1使用元组字面量创建元组

    实例对象

    5.4.2使用tuple对象创建元组

    实例对象

    5.4.3元组的序列操作

    5.4.4元组对象的方法

    5.4.5元组的典型示例代码

    5.5字符串

    5.5.1使用字符串字面量创建

    字符串对象

    5.5.2字符串编码

    5.5.3转义字符

    5.5.4使用内置函数str()创建字符

    串对象

    5.5.5字符串的序列操作

    5.5.6字符串对象的方法

    5.5.7字符串的格式化

    5.5.8f字符串(字符串插值)

    5.5.9字符串的典型示例代码

    5.5.10字符串应用举例

    5.6字节序列

    5.6.1bytes字面量

    5.6.2创建bytes对象

    5.6.3创建bytearray对象

    5.6.4bytes和bytearray的序列

    操作

    5.6.5字节编码和字节解码

    5.6.6字节序列的典型示例

    代码

    5.7字典(映射)

    5.7.1对象的哈希(hash)值

    5.7.2字典的定义

    5.7.3字典解析表达式

    5.7.4字典的访问操作

    5.7.5字典的视图对象

    5.7.6字典的遍历

    5.7.7判断字典键是否存在

    5.7.8字典对象的长度和比较

    5.7.9字典对象的方法

    5.7.10字典的典型示例代码

    5.8集合

    5.8.1集合的定义

    5.8.2集合解析表达式

    5.8.3判断集合元素是否存在

    5.8.4集合的运算: 并集、交集、差集

    和对称差集

    5.8.5集合的比较运算: 相等、子集

    和超集

    5.8.6集合的长度、最大值、最小值、

    元素和

    5.8.7可变集合的方法

    5.8.8集合的典型示例代码

    5.9数据类型综合应用举例

    5.9.1字符串简单加密和解密

    5.9.2去除列表中的重复项

    5.9.3基于列表的简易花名册

    管理系统

    5.9.4频数表和直方图

    5.10习题

    5.11上机实践

    5.12案例研究: 猜单词游戏

    第6章输入、输出和文件

    6.1输入和输出概述

    6.2命令行参数

    6.2.1sys.argv与命令行参数

    6.2.2argparse模块和命令行参数

    解析

    6.3标准输入函数和标准输出

    函数

    6.3.1输入函数和输出函数

    6.3.2交互式用户输入

    6.3.3运行时提示输入密码

    6.4文件和文件对象

    6.4.1文件对象和open函数

    6.4.2文件的打开、写入、读取和

    关闭

    6.4.3with语句和上下文管理

    协议

    6.5文本文件的写入、读取和

    编码

    6.5.1文本文件的写入

    6.5.2文本文件的读取

    6.5.3文本文件的编码

    6.6二进制文件的写入和读取

    6.6.1二进制文件的写入

    6.6.2二进制文件的读取

    6.7随机文件的写入和读取

    6.8CSV格式文件的读取和

    写入

    6.8.1CSV格式文件和csv模块

    6.8.2csv.reader对象和CSV

    文件的读取

    6.8.3csv.writer对象和CSV

    文件的写入

    6.9对象序列化

    6.9.1对象序列化概述

    6.9.2pickle模块和对象序列化

    6.9.3json模块和JSON格式

    数据

    6.10os模块和文件目录操作

    6.11标准输入、输出和错误流

    6.11.1标准输入、输出和错误流

    文件对象

    6.11.2读取任意长度的输入流

    6.11.3标准输入、输出和错误

    流重定向

    6.12重定向和管道

    6.12.1重定向标准输出到一个

    文件

    6.12.2重定向文件到标准输入

    6.12.3管道

    6.12.4过滤器

    6.13综合应用: 文件数据的统计

    和分析

    6.13.1统计存储在文本文件中

    的学生成绩信息

    6.13.2统计存储在文本文件中

    的天气温度信息

    6.13.3统计存储在CSV文件中

    的学生成绩信息

    6.13.4基于字典的通讯录

    6.14习题

    6.15上机实践

    6.16案例研究: 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.5Python虚拟机捕获处理

    异常

    7.2.6使用try…except…else…finally

    语句捕获处理异常

    7.2.7捕获异常的顺序

    7.2.8finally块和发生异常后的

    处理

    7.2.9自定义异常类

    7.3断言处理

    7.3.1断言处理概述

    7.3.2assert语句和AssertionError类

    7.3.3启用/禁用断言

    7.4程序的基本调试方法

    7.4.1语法错误的调试

    7.4.2运行时错误的调试

    7.4.3逻辑错误的调试

    7.5使用logging模块记录

    日志

    7.5.1logging模块概述

    7.5.2logging的配置和使用

    7.6综合应用: 错误和异常

    处理

    7.6.1两个整数的输入及求和

    7.6.2打开指定的文件并显示文件

    的内容

    7.7习题

    7.8上机实践

    7.9案例研究: 使用调试器调试

    Python程序

    第8章函数和函数式编程

    8.1函数概述

    8.1.1函数的基本概念

    8.1.2函数的功能

    8.1.3Python函数分类

    8.2函数的声明和调用

    8.2.1函数对象的创建

    8.2.2函数的调用

    8.2.3函数的副作用

    8.2.4lambda表达式和匿名

    函数

    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强制命名参数(Keywordonly)

    8.3.9参数类型检查和类型注解

    (annotation)

    8.4函数的返回值

    8.4.1return语句和函数返

    回值

    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查看局部变量和全局变量

    (locals和globals函数)

    8.6递归函数

    8.6.1递归函数的定义

    8.6.2递归函数的原理

    8.6.3编写递归函数需要注意的

    问题

    8.6.4递归函数的应用: 最大公

    约数

    8.6.5递归函数的应用: 

    汉诺塔

    8.7内置函数的使用

    8.7.1内置函数一览

    8.7.2eval()函数(动态表达式的

    求值)

    8.7.3exec()函数(动态语句的

    执行)

    8.7.4compile()函数

    8.8Python函数式编程基础

    8.8.1作为对象的函数

    8.8.2高阶函数

    8.8.3map()函数

    8.8.4filter()函数

    8.8.5operator模块和操作符

    函数

    8.8.6functools.reduce()函数

    8.8.7偏函数

    8.8.8sorted()函数

    8.8.9函数装饰器

    8.9综合应用: turtle模块绘制

    复杂的图形

    8.9.1绘制多边形

    8.9.2递归图形

    8.10习题

    8.11上机实践

    8.12案例研究: 井字棋游戏

    第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静态方法(@staticmethod)

    9.4.3类方法(@classmethod)

    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.10range可迭代对象

    9.8.11map迭代器和itertools.starmap

    迭代器

    9.8.12filter迭代器和itertools.filterfalse

    迭代器

    9.8.13zip迭代器和itertools.zip_longest

    迭代器

    9.8.14enumerate迭代器

    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.comb

    inations和combinations_with_

    replacement

    9.8.24排列迭代器itertools.

    permutations

    9.8.25笛卡儿积迭代器itertools.

    product

    9.9自定义类应用举例

    9.9.1Color类

    9.9.2Histogram类

    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.2API设计

    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.3.5查看导入的模块

    10.4包

    10.4.1包的概念

    10.4.2创建包

    10.4.3包的导入和使用

    10.5模块的导入顺序

    10.5.1import语句导入模块的

    类型

    10.5.2模块搜索路径

    10.5.3导入模块时的搜索

    顺序

    10.5.4dir()函数

    10.6名称空间与名称查找

    顺序

    10.6.1名称空间概述

    10.6.2名称查找顺序

    10.6.3顶层模块和__name__

    变量

    10.6.4Python解释器是顶层

    模块

    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栈

    11.2.4树

    11.2.5图

    11.2.6堆

    11.2.7散列表

    11.3算法及其性能分析

    11.3.1算法概述

    11.3.2算法的时间复杂度

    分析

    11.3.3增长量级

    11.3.4算法的空间复杂度

    分析

    11.4查找算法

    11.4.1顺序查找法

    11.4.2二分查找法

    11.4.3Python语言提供的查找

    算法

    11.5排序算法

    11.5.1冒泡排序法

    11.5.2选择排序法

    11.5.3插入排序法

    11.5.4归并排序法

    11.5.5快速排序法

    11.5.6Python语言提供的排序

    算法

    11.6数组

    11.6.1列表和数组

    11.6.2array.array对象和

    数组

    11.7栈和队列

    11.7.1栈的实现: 使用列表

    11.7.2deque对象

    11.7.3deque作为栈

    11.7.4deque作为队列

    11.8collections模块的其他数据

    结构

    11.8.1collections模块概述

    11.8.2namedtuple对象

    11.8.3UserDict、UserList和

    UserString对象

    11.8.4defaultdict对象

    11.8.5OrderedDict对象

    11.8.6ChainMap对象

    11.8.7Counter对象

    11.9习题

    11.10上机实践

    11.11案例研究: 程序运行时间

    度量分析

    第12章图形用户界面

    12.1图形用户界面概述

    12.1.1tkinter

    12.1.2其他GUI库简介

    12.2tkinter概述

    12.2.1tkinter模块

    12.2.2图形用户界面构成

    12.2.3框架和GUI应用

    程序类

    12.2.4tkinter主窗口

    12.3几何布局管理器

    12.3.1pack几何布局管理器

    12.3.2grid几何布局管理器

    12.3.3place几何布局管理器

    12.4事件处理

    12.4.1事件类型

    12.4.2事件绑定

    12.4.3事件处理函数

    12.5常用组件

    12.5.1Label(标签)

    12.5.2LabelFrame(标签框架)

    12.5.3Button(按钮)

    12.5.4Message(消息)

    12.5.5Entry(单行文本框)

    12.5.6Text(多行文本框)

    12.5.7Radiobutton(单选按钮)

    12.5.8Checkbutton(复选框)

    12.5.9Listbox(列表框)

    12.5.10OptionMenu(选择项)

    12.5.11Scale(移动滑块)

    12.5.12Toplevel(顶层窗口)

     

    12.5.13ttk(子模块控件)

    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.1wxPython概述

    12.8.2安装wxPython库

    12.8.3wxPython应用程序的

    基本架构

    12.8.4使用wxPython开发简易

    文本编辑器

    12.9习题

    12.10上机实践

    12.11案例研究1: 简易图形用户

    界面计算器

    12.12案例研究2: 百度音乐批量

    下载器

    第13章图形绘制和数据可视化

    13.1Python绘图模块概述

    13.2Matplotlib模块

    13.2.1Matplotlib模块概述

    13.2.2图形显示: 用户界面

    后端

    13.2.3输出格式: 硬拷贝

    后端

    13.2.4Matplotlib的特点

    13.2.5安装Matplotlib

    13.3Matplotlib基本绘图

    13.3.1绘制折线图: 使用一个

    列表数据

    13.3.2绘制折线图: 使用两个

    列表数据

    13.3.3绘制多条曲线图

    13.3.4设置坐标轴范围

    13.3.5设置坐标轴标题和图表

    标题

    13.3.6设置图例

    13.3.7保存图形到文件

    13.3.8基本绘图应用举例

    13.4常用图表类型的绘制

    13.4.1选择图表类型

    13.4.2条形图

    13.4.3饼图

    13.4.4散点图

    13.4.5直方图

    13.5面向对象的Matplotlib

    绘图

    13.5.1面向对象的绘图

    13.5.2绘制多个子图

    13.6习题

    13.7上机实践

    13.8案例研究: 汉诺塔问题求解

    动画

    第14章数值日期和时间处理

    14.1相关模块概述

    14.1.1数值处理的相关模块

    14.1.2日期和时间处理的相关

    模块

    14.2cmath模块和复数数学

    函数

    14.3数值运算模块NumPy

    14.3.1数值运算模块的基本

    使用

    14.3.2创建数组

    14.3.3处理数组

    14.3.4数组应用举例

    14.4日期和时间处理

    14.4.1相关术语

    14.4.2时间对象

    14.4.3测量程序运行时间

    14.4.4日期对象

    14.4.5获取当前日期和时间

    14.4.6日期和时间格式化为字

    符串

    14.4.7日期和时间字符串解析为

    日期和时间对象

    14.5综合应用举例

    14.6习题

    14.7上机实践

    14.8案例研究: 使用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.2.8选择分支

    15.2.9分组和向后引用

    15.2.10正则表达式的匹配

    模式

    15.2.11常用正则表达式

    15.3正则表达式模块re

    15.3.1匹配和搜索函数

    15.3.2匹配选项

    15.3.3正则表达式对象

    15.3.4匹配对象

    15.3.5匹配和替换

    15.3.6分隔字符串

    15.4正则表达式应用举例

    15.4.1字符串包含验证

    15.4.2字符串查找和拆分

    15.4.3字符串替换和清除

    15.4.4字符串查找和截取

    15.5中文分词库jieba

    15.5.1安装jieba库

    15.5.2jieba库的分词模式和

    常用函数

    15.5.3使用jieba库分析统计

    中文文档

    15.6词云库Wordcloud

    15.6.1安装Wordcloud

    15.6.2Wordcloud库的API

    15.6.3定制词云图的绘制参数

    15.6.4使用Wordcloud库显示

    中文词云图

    15.7综合应用举例

    15.7.1文本统计

    15.7.2基因预测

    15.8习题

    15.9上机实践

    15.10案例研究: NLTK与自然

    语言处理

    第16章数据库访问

    16.1数据库基础

    16.1.1数据库的概念

    16.1.2数据库模型

    16.1.3关系数据库

    16.2Python数据库访问模块

    16.2.1通用数据库访问模块

    16.2.2专用数据库访问模块

    16.2.3SQLite数据库和sqlite3

    模块

    16.3使用sqlite3模块连接和

    操作SQLite数据库

    16.3.1访问数据库的典型

    步骤

    16.3.2创建数据库和表

    16.3.3数据库表的插入、更新和

    删除操作

    16.3.4数据库表的查询操作

    16.4使用SQLiteStudio查看和

    维护SQLite数据库

    16.5习题

    16.6上机实践

    16.7案例研究1: 基于数据库和

    GUI的教务管理系统

    16.8案例研究2: 基于MySQL的

    库存管理系统

    第17章网络编程和通信

    17.1网络编程的基本概念

    17.1.1网络基础知识

    17.1.2TCP/IP协议简介

    17.1.3IP地址和域名

    17.1.4统一资源定位器

    17.2基于socket的网络

    编程

    17.2.1socket概述

    17.2.2创建socket对象

    17.2.3将服务器端socket绑定到

    指定地址上

    17.2.4服务器端socket开始

    侦听

    17.2.5连接和接收连接

    17.2.6发送和接收数据

    17.2.7简单TCP程序: 

    Echo Server

    17.2.8简单UDP程序: 

    Echo Server

    17.2.9UDP程序: Quote Server

    17.3基于urllib的网络编程

    17.3.1打开和读取URL网络

    资源

    17.3.2创建Request对象

    17.4基于http的网络编程

    17.5基于ftplib的网络编程

    17.6基于poplib和smtplib的

    网络编程

    17.6.1使用poplib接收邮件

    17.6.2使用smtplib发送邮件

    17.7习题

    17.8上机实践

    17.9案例研究: 网络爬虫实现

    案例

    第18章并行计算: 进程、线程和

    协程

    18.1并行处理概述

    18.1.1进程、线程和协程

    18.1.2Python语言与并行处理

    相关模块

    18.2基于线程的并发处理

    18.2.1threading模块概述

    18.2.2使用Thread对象创建

    线程

    18.2.3自定义派生于Thread的

    对象

    18.2.4线程加入

    18.2.5用户线程和daemon

    线程

    18.2.6Timer线程

    18.2.7基于原语锁的简单

    同步

    18.2.8基于条件变量的同步

    和通信

    18.2.9基于queue模块中队列

    的同步

    18.2.10基于Event的同步和

    通信

    18.3基于进程的并行计算

    18.3.1multiprocessing模块

    概述

    18.3.2创建和使用进程

    18.3.3进程的数据共享

    18.3.4进程池

    18.4基于线程池/进程池的并发和

    并行任务

    18.4.1concurrent.futures模块

    概述

    18.4.2使用ThreadPoolExecutor

    并发执行任务

    18.4.3使用ProcessPoolExecutor

    并发执行任务

    18.5基于asyncio的异步IO

    编程

    18.5.1asyncio模块概述

    18.5.2创建协程对象

    18.5.3创建任务对象

    18.6应用举例

    18.6.1使用Pool并行计算查找

    素数

    18.6.2使用ProcessPoolExecutor

    并行判断素数

    18.6.3使用ThreadPoolExecutor

    多线程爬取网页

    18.7习题

    18.8上机实践

    18.9案例研究: 文本统计并行

    处理

    第19章系统管理

    19.1系统管理相关模块

    19.2目录、文件和磁盘的基本

    操作

    19.2.1创建目录

    19.2.2临时目录和文件的

    创建

    19.2.3切换和获取当前工作

    目录

    19.2.4目录内容列表

    19.2.5文件通配符和glob.glob()

    函数

    19.2.6遍历目录和os.walk()

    函数

    19.2.7判断文件/目录是否

    存在

    19.2.8测试文件类型

    19.2.9文件的日期及大小

    19.2.10文件和目录的删除

    19.2.11文件和目录的复制、

    重命名和移动

    19.2.12磁盘的基本操作

    19.3执行操作系统命令和运行

    其他程序

    19.3.1os.system()函数

    19.3.2os.popen()函数

    19.3.3subprocess模块

    19.4获取终端的大小

    19.5文件的压缩和解压缩

    19.5.1shutil模块支持的压缩和

    解压缩格式

    19.5.2make_archive()函数和文件

    压缩

    19.5.3unpack_archive()函数和

    文件解压缩

    19.6configparser模块和配置

    文件

    19.6.1INI文件及INI文件

    格式

    19.6.2ConfigParser对象和INI

    文件操作

    19.7应用举例

    19.7.1病毒扫描

    19.7.2文件目录树

    19.8习题

    19.9上机实践

    19.10案例研究1: 简易图形用户

    界面压缩软件

    19.11案例研究2: 使用scikitlearn

    进行机器学习

    附录Python计算生态

    参考文献

     

     
查看详情
12
相关图书 / 更多
Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)
Python和PySpark数据分析
(加)乔纳森·里乌
Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)
Python机器学习入门与实践 从深度学习到生成对抗网络GAN 深入浅出GAN生成对抗网络 实战gan TensorFlow与Keras 人工智能技术书籍
(日)大关真之
Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)
Python语言程序设计
王刚
Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)
Python代码编程 学科项目式编程(六年级)
冯建刚
Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)
Python机器学习 : 核心技术与开发实战 周志华西瓜书机器学习实战伴侣书
[美]普拉提克·乔希 著;李现伟 译者;颉腾文化 出品;阿尔伯托·阿尔塔桑切斯(美);曾小健
Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)
Python语言程序设计(微课版)
宁爱军 何志永
Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)
Python数据分析从入门到精通(第2版)
明日科技
Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)
Python数据分析与挖掘
齐福利
Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)
Python基础与应用(互联网+教育新形态一体化系列教材)
李喆时、谢家立、赵丽 编
Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)
Python数据分析与可视化项目实战
王振丽
Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)
Python爬虫从菜鸟到高手
李宁
Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)
Python程序设计基础教程
\"孙海龙 王济军\
您可能感兴趣 / 更多
Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)
Excel数据分析超详细实战攻略-微课视频版
江红;余青松
Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)
C#程序设计教程(第3版)-微课版
江红;余青松
Python程序设计与算法基础教程(第3版·项目实训·题库·微课视频版)
Python程序设计与算法基础教程
江红;余青松