《Python学习手册 第五版》 -第21章 基准测试

前面的章节讲解了函数和迭代的工具,针对一个问题,会有不同额解决办法,不同的解决办法如何评估好坏,可以通过计时测试评估,也就是本章要讲解的内容

本章重点内容:

1、自己编写的计时模块

2、用timeit计时

开始前说明一点:代码编写,由之前的IDLE平台调整为JuptyerLab平台,为什么?可以自行百度Jupyter,

同时也是因为,从本章开始,会有大量的代码编写,为了方便保存以及修改调整

接下来,针对以上重点内容,进行详细讲解

1、自己编写的计时模块

通过以下代码,可以容易实现对于一个函数,多次调用的花费总时间,代码如下:

计时函数:

 

 函数的调用:中间红底的部分,可以忽略

 

 代码的计时,会随着时间和电脑平台的不同有所变化

上述的计时方式有一定的局限性:被测试函数,不支持关键字参数,硬编码了重复次数,额外加入了range的时间等

下面针对以上函数进行优化调整,具体代码如下:

 

 针对以上三个不同函数的调用:

 

 

 

 上面是用besttotal函数比较了一个函数执行1000次,执行50个1000次中最短的时间,也可以用来比较不同函数执行同样次数的时间,例如创建列表不同函数的时间比较,具体代码示例如下:

 

 2、用timeit计时

 

 第一部分是我们自己编写的函数来对比不同的计时测试,其实在Python标准库中也有相似的模块,来方便调用,timeit模块,它会更灵活

timeit的基础用法,timeit模块中有repeat调用,可以用来运行若干组相同测试,并返回一个列表,具体代码示例如下:

 

 

 

 这个函数可以在大型测试中进行调用使用,如果对此感兴趣,可以自行查看标准库使用手册在此不在展开

以上,就是本章的重点内容,下章再见!

 

《Python学习手册 第五版》 每章时间规划及完成进度:

2019.11.25-2019.12.01 第01章,已完成:《Python学习手册 第五版》 -第1章 问答环节

2019.12.02-2019.12.08 第02章,已完成:《Python学习手册 第五版》 -第2章 Python如何运行程序

2019.12.09-2019.12.15 第03章,已完成:《Python学习手册 第五版》 -第3章 你应如何运行Python程序

2019.12.16-2019.12.22 第04章,已完成:《Python学习手册 第五版》 -第4章 介绍Python对象类型

2019.12.23-2019.12.29 第05章,已完成:《Python学习手册 第五版》 -第5章 数值类型

2019.12.30-2020.01.05 第06章,已完成:《Python学习手册 第五版》 -第6章 动态类型

2020.01.06-2020.01.12 第07章,已完成:《Python学习手册 第五版》 -第7章 字符串基础

2020.01.12-2020.01.19 第08章,已完成:《Python学习手册 第五版》 -第8章 列表与字典

2020.01.20-2020.01.26 第09章,已完成:《Python学习手册 第五版》 -第9章 元组、文件与其他核心类型

2020.01.27-2020.02.02 第10章,已完成:《Python学习手册 第五版》 -第10章 Python语句简介

2020.02.03-2020.02.09 第11章,已完成:《Python学习手册 第五版》 -第11章 赋值、表达式和打印

2020.02.10-2020.02.16 第12章,已完成:《Python学习手册 第五版》 -第12章 if测试和语法规则

2020.02.17-2020.02.23 第13章,已完成:《Python学习手册 第五版》 -第13章 while循环和for循环

2020.02.24-2020.03.01 第14章,已完成:《Python学习手册 第五版》 -第14章 迭代和推导

2020.03.02-2020.03.08 第15章,已完成《Python学习手册 第五版》 -第15章 文档

2020.03.09-2020.03.15 第16章,已完成:《Python学习手册 第五版》 -第16章 函数基础

2020.03.16-2020.03.22 第17章,已完成:《Python学习手册 第五版》 -第17章 作用域

2020.03.23-2020.03.29 第18章,已完成:《Python学习手册 第五版》 -第18章 参数

2020.03.30-2020.04.05 第19章,已完成:《Python学习手册 第五版》 -第19章 函数的高级话题

2020.04.06-2020.04.12 第20章,已完成:《Python学习手册 第五版》 -第20章 推导和生成

2020.04.13-2020.04.19 第21章,已完成

2020.04.20-2020.04.26 第22章,未完成 

2020.04.27-2020.05.03 第23章,未完成

 

以下链接,可以供你了解这个学习笔记的所有章节最新进度

自学笔记系列:《Python学习手册 第五版》 -写在开始之前

posted @ 2020-04-20 07:18  诡刺-ThornSoul  阅读(301)  评论(0编辑  收藏  举报