一、直接使用timeit(),repeat()

1.timeit
# 代码结构:
# from timeit import timeit     模块引入
# time1 = timeit("function", "from __main__ import function", number=10000)
# print(time1)
# 注意:
# timeit(函数名_字符串,运行环境_字符串,number=运行次数)
# 如果number不设定,默认为10000次(对这些行代码测试一万次——>设这个行为为过程A)

2.repeat
# 代码结构:
# from timeit import repeat     模块引入
# t = repeat('func()', 'from __main__ import func', number=100, repeat=5)
# print(min(t))
# 注意:
# repeat(函数名_字符串,运行环境_字符串,number=运行次数,repeat=重复运行次数)
# repeat和timeit用法相似,多了一个repeat参数,表示重复测试的次数(可以不写,默认值为3.)
# 如果repeat = 5 ,表示对过程A重复的5次
# repeat的返回值为一个时间的列表(因此最后打印出时间的时候可以用min(t),得出这个时间列表的
# 最小值)。

------------------------------------------------------------------------------------------------------------------------------------下面举一个简单的应用例子

step 1

下列代码定义了六种生成列表的函数,我们分别用timeit(),和repeat()来测试

# 生成列表的五种方法def t1():li1 = []for i in range(10000):li1 += [i]def t2():li2 = []for i in range(10000):li2 = li2.append(i)def t3():li3 = []for i in range(10000):li3 = li3.extend([i])def t4():li4 = [i for i in range(10000)]def t5():li5 = list(range(10000))def t6():li6 = []for i in range(10000):li6 = li6.insert(0, i)

step 2    (1)使用timeit

from timeit import timeittimer1 = timeit(stmt="t1", setup="from __main__ import t1", number=1000)
# stmt=和setup=是可以省略不写的,但是如果有运行次数必须写number=,如果没有标明运行次数则默认为10000次
print('1.使用列表相加的方法生成新列表:', timer1, " seconds")timer2 = timeit("t2", "from __main__ import t2", number=1000)
print('2使用append()内置函数生成新列表:', timer2, " seconds")timer3 = timeit("t3", "from __main__ import t3", number=1000)
print('3.使用extend()内置函数生成新列表:', timer3, " seconds")timer4 = timeit("t4", "from __main__ import t4", number=1000)
print('4.使用[i for i in range(1000)]生成新列表:', timer4, " seconds")tmier5 = timeit("t5", "from __main__ import t5", number=1000)
print('5.使用list(range(10000))的方法生成新列表:', tmier5, " seconds")timr6 = timeit("t6", "from __main__ import t6", number=1000)
print('6.使用insert()方法:', tmier5, " seconds")

step2         (2)使用repeat

from timeit import repeattimer1 = repeat(stmt="t1", setup="from __main__ import t1", number=1000, repeat=3)
# stmt=和setup=是可以省略不写的,但是如果有运行次数必须写number=和repeat=,如果没有标明运行次数则默认为10000次,repeat为3次
# 由于repeat返回的是一个时间的列表,所以print的时候,使用min(),来取时间列表里的最小值
print('1.使用列表相加的方法生成新列表:', min(timer1), " seconds")timer2 = repeat("t2", "from __main__ import t2", number=1000)
print('2使用append()内置函数生成新列表:', min(timer2), " seconds")timer3 = repeat("t3", "from __main__ import t3", number=1000)
print('3.使用extend()内置函数生成新列表:', min(timer3), " seconds")timer4 = repeat("t4", "from __main__ import t4", number=1000)
print('4.使用[i for i in range(1000)]生成新列表:', min(timer4), " seconds")tmier5 = repeat("t5", "from __main__ import t5", number=1000)
print('5.使用list(range(10000))的方法生成新列表:', min(tmier5), " seconds")timr6 = repeat("t6", "from __main__ import t6", number=1000)
print('6.使用insert()方法:', min(tmier5), " seconds")

step 3

(1)的运行结果

(2)的运行结果

二、先生成Timer(),再调用timeit()和repeat()

(1)调用timeit代码演示示例

Timer.timeit(number)  返回的是运行number次所需要的时间

from timeit import Timertimer1 = Timer("t1", "from __main__ import t1")
print('1.使用列表相加的方法生成新列表:', timer1.timeit(1000), " seconds")timer2 = Timer("t2", "from __main__ import t2")
print('2使用append()内置函数生成新列表:', timer2.timeit(1000), " seconds")timer3 = Timer("t3", "from __main__ import t3")
print('3.使用extend()内置函数生成新列表:', timer3.timeit(1000), " seconds")timer4 = Timer("t4", "from __main__ import t4")
print('4.使用[i for i in range(1000)]生成新列表:', timer4.timeit(1000), " seconds")tmier5 = Timer("t5", "from __main__ import t5")
print('5.使用list(range(10000))的方法生成新列表:', tmier5.timeit(1000), " seconds")timr6 = Timer("t6", "from __main__ import t6")
print('6.使用insert()方法:', tmier5.timeit(1000), " seconds")

(1)运行结果

(2)调用repeat()代码演示示例

Timer.repeat(number,repeat)   其返回的是一个时间列表

min(Timer.repeat(number,repeat))   这样即可以取时间列表内的最小值

from timeit import repeat
from timeit import Timertimer1 = Timer("t1", "from __main__ import t1")
print('1.使用列表相加的方法生成新列表:', min(timer1.repeat(1000, 3)), " seconds")timer2 = Timer("t2", "from __main__ import t2")
print('2使用append()内置函数生成新列表:', min(timer2.repeat(1000, 3)), " seconds")timer3 = Timer("t3", "from __main__ import t3")
print('3.使用extend()内置函数生成新列表:', min(timer3.repeat(1000, 3)), " seconds")timer4 = Timer("t4", "from __main__ import t4")
print('4.使用[i for i in range(1000)]生成新列表:', min(timer4.repeat(1000, 3)), " seconds")tmier5 = Timer("t5", "from __main__ import t5")
print('5.使用list(range(10000))的方法生成新列表:', min(tmier5.repeat(1000, 3)), " seconds")timr6 = Timer("t6", "from __main__ import t6")
print('6.使用insert()方法:', min(tmier5.repeat(1000, 3)), " seconds")

(2) 运行结果

Python timeit 中的计时器的两种使用方法相关推荐

  1. android 毫秒 计时器,Android时分秒计时器的两种实现方法

    可能我们在开发中会时常用到计时器这玩意儿,比如在录像的时候,我们可能需要在右上角显示一个计时器.这个东西其实实现起来非常简单. 只需要用一个控件Chronometer,是的,就这么简单,我都不好意思讲 ...

  2. HTML5中aside标签的两种使用方法

    aside元素在网站制作中主要有以下两种使用方法 1)被包含在article元素中作为主要内容的附属信息部分,其中的内容可以是与当前文章有关的相关资料.名次解释,等等. <article> ...

  3. Word中繁体艺术字的两种制作方法(转)

    Word中繁体艺术字的两种制作方法(转) Word里的艺术字是大家平时常用的一项功能,但有时我们可能需要制作一些繁体艺术字,而这个看似简单的要求,实现起来却不是那么容易,因为Word里的繁简转换功能对 ...

  4. c语言中将十六进制数转换为十进制数程序,C语言中十六进制转十进制两种实现方法...

    C语言中十六进制转十进制两种实现方法 C语言 · 十六进制转十进制 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出. 注:十六进制数中的10~15分别用大写的英 ...

  5. 在Linux系统中存储设备的两种表示方法

    作者:北南南北 来自:LinuxSir.Org 摘要: 硬盘和硬盘分区在Linux都表示为设备,按我们通俗的说法来说,就是怎么来表示或描述硬盘和或硬盘分区,但这种描述应该是科学和具体的:比如IDE硬盘 ...

  6. [Win+Python]使用python接口测试时302重定向的两种处理方法

    目录 前言 1 接口简介 2 代码实现 2.1 自动重定向 2.2 跟随重定向 前言 我将在本文中简单介绍使用python进行接口测试时,遇到302重定向时的一些测试心得. 本文涉及实例中的一些关键信 ...

  7. python timer使用-关于定时器的两种使用方法

    在发现Python自身的API在这方面没有很好支持这种情况下,想要使用Timer功能的话,除了第三方的模块外,还可以通过使用标准库为我们提供的sched模块和Timer类.这两个类不能算是真正的Tim ...

  8. cad添加自己线性_CAD中自定义线型的两种设置方法

    我们在进行装修深化或水电施工图的过程中,经常会用到一些特殊的线型来表示不同的线路,CAD中自带的线型远无法满足我们的需求,其实在CAD中可以自己动手绘制中间插入文字或是其它各类的线型,做好后打包,用的 ...

  9. hive中case when的两种使用方法

    如下两种的表达效果是一样 方法一: select tm , count(tm) as times from ( select case when single_times = '1' then 'on ...

最新文章

  1. MediaPipe:Google Research 开源的跨平台多媒体机器学习模型应用框架
  2. Javascript创建select 以及获取select的值、文本;获取radio,check的值
  3. 19.Linux_Jni多线程操作
  4. 结对编程:黄金点游戏
  5. 计算机不小心删除怎么找回桌面,如何将桌面上误删的文件找回
  6. 第二十八期:阿里云VS腾讯云 谁才是中国未来的云计算之王?
  7. dict后缀_学习词根dict 成片记单词
  8. 统计学习方法 李航 读书笔记
  9. 有效提升 Virtual Server 2005 R2 with SP1 的速度
  10. Windows界面编程_Miniblink(2) 嵌入到Win32窗口里
  11. Word2019添加复选框
  12. 2022年身份证号码信息查询API接口分享
  13. 台式计算机蓝牙在哪,台式电脑蓝牙在哪里打开(台式电脑连接蓝牙教程分享)...
  14. 系统运维工程师必备面试题库
  15. 若依框架前端菜单生成,权限标识,路由地址
  16. google之Thumbnails图片等比压缩,保持图片清晰
  17. sqlserver2008 R2数据库-不允许表修改保存,阻止保存要求重新创建表的更改
  18. 安全防御(二)--- 防火墙域间双向NAT、域内双向NAT、基于VRRP的双机热备
  19. Firefox报错——Gah. Your tab just crashed.
  20. 使用 vue2 制作一个知乎日报

热门文章

  1. linux的多进程等待,等待进程结束wait()和waitpid()函数
  2. 1198:逆波兰表达式
  3. 重玩python,安装pandas pandas pycharm pip一堆工具
  4. php 接口token生成验证
  5. H5自动播放背景音乐(IOS和安卓)
  6. ubuntu 内核降级,切换linux内核版本
  7. python人工智能课程实例_python人工智能AI深度学习/机器学习全套课程 视频教程+ppt+代码...
  8. 机电一体化与计算机系,电力系统自动化与机电一体化专业介绍
  9. 勒索病毒locked勒索病毒后缀成功解密文档恢复数据库,专业事情交给专业的人
  10. matlab结果中有虚数,Matlab数值积分结果是虚数