百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

一日一技:Python中的timeit()方法

off999 2024-09-13 13:29 18 浏览 0 评论


timeit()方法


python中的timeit()方法, 它用于获取代码的执行时间。该库将代码语句运行一百万次,并提供从集合中花费的最短时间。这是一种有用的方法,有助于检查代码的性能。


语法如下:

timeit.timeit(stmt, setup,timer, number)

参数解析:

  • stmt:这将采用您要测量其执行时间的代码。默认值为“pass”。
  • setup:这将包含需要在stmt之前执行的设置详细信息。默认值为“ pass”。
  • timer:它将具有计时器值,timeit()已经设置了默认值,我们可以忽略它。
  • number:stmt将按照此处给出的编号执行。默认值为1000000。


要使用timeit(),我们需要导入模块,如下所示:

import timeit


以下是timeit()函数的一个简单示例

代码示例1:

# testing timeit()
import timeit
print(timeit.timeit('output = 10*5'))

输出:

0.06127880399999999

我们已经看到了一个简单的示例,该示例为我们提供了简单代码语句output = 10*5的执行时间,执行该命令所花费的时间为0.06127880399999999。



在python代码中计时多行


我们可以使用分号或通过将包含在代码中的代码保存为带三引号的字符串来在timeit.timeit()中执行两行代码。


示例1:使用分号


import timeit
print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))

输出:

The time taken is  0.182619178



示例2:使用三引号

# testing timeit()
import timeit
import_module = "import random"
testcode = ''' 
def test(): 
    return random.randint(10, 100)
'''
print(timeit.timeit(stmt=testcode, setup=import_module))

输出:

0.46715912400000004


timeit-方法

以下是2种重要的timeit方法:

  • timeit.default_timer():执行时将返回默认时间。
  • timeit.repeat(stmt,setup,timer,repeat,number):与timeit()相同,但是随着重复,timeit()被称为重复次数。

范例1:

# testing timeit()
import timeit
import_module = "import random"
testcode = ''' 
def test(): 
    return random.randint(10, 100)
'''
print(timeit.timeit(stmt=testcode, setup=import_module))

输出:

The start time is : 0.220261875
The time difference is : 0.0004737320000000045



范例2:

timeit.default_timer()方法

# testing timeit()
 
import timeit
import random
 
def test(): 
    return random.randint(10, 100)
 
starttime = timeit.default_timer()
print("The start time is :",starttime)
test()
print("The time difference is :", timeit.default_timer() - starttime)

输出:

 [0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]


范例3:

timeit.repeat()方法

# testing timeit()
import timeit
import_module = "import random"
testcode = ''' 
def test(): 
    return random.randint(10, 100)
'''
print(timeit.repeat(stmt=testcode, setup=import_module, repeat=5))

输出:

 [0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]



timeit.repeat()的方法类似于timeit.timeit()方法,唯一的区别是,它采用了repeat()参数,并以数组格式返回执行时间,并按重复编号指定值。



在命令行界面中执行计时功能timeit.timeit()


在命令行中操作,timeit()函数的语法如下:

>>> import timeit
>>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
The time taken is  0.15048536300000137
>>>


其中,命令行参数:


  • -n N:希望代码执行的次数。
  • -r N:希望timeit()函数重复的次数
  • -s S:它将具有设置详细信息,这些详细信息将在代码执行之前执行。
  • -t:为此,可以利用time.time()
  • -c:为此,可以利用time.clock()
  • -h:寻求帮助
  • code statement:代码详细信息。


范例如下:

>>> import timeit
>>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
The time taken is  0.15048536300000137
>>>




我们也可以在命令行中执行另一种方式,如下所示:

>>> import timeit
>>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
The time taken is  0.15048536300000137
>>>

为什么timeit()是衡量Python代码执行时间的最佳方法?

我们认为timeit()是衡量执行时间的最佳方法有以下几个原因。


  • 它运行代码语句100万次,这是默认值,并从中返回最短的时间。还可以通过在time()函数中设置参数数来增加/减少一百万。
  • 在执行测试时,每次按time()函数都会禁用垃圾收集。
  • 根据使用的操作系统,timeit()在内部获取准确的时间。例如,对于Windows操作系统,它将使用time.clock();对于Mac和Linux,它将使用time.time()。

摘要:


timeit()方法用于获取给定代码的执行时间

与timeit()一起使用的参数:


  • stmt:这将使用您要测量执行时间的代码
  • setup:这将包含需要在stmt之前执行的设置详细信息
  • timer:它将具有计时器值,timeit()已经设置了默认值,我们可以忽略它。
  • number:stmt将按照此处给出的编号执行。

你学习到了吗?

欢迎在下方留言,

谢谢关注!

相关推荐

python gui编程框架推荐以及介绍(python gui开发)

Python的GUI编程框架有很多,这里为您推荐几个常用且功能强大的框架:Tkinter:Tkinter是Python的标准GUI库,它是Python内置的模块,无需额外安装。它使用简单,功能较为基础...

python自动化框架学习-pyautogui(python接口自动化框架)

一、适用平台:PC(windows和mac均可用)二、下载安装:推荐使用命令行下载(因为会自动安装依赖库):pipinstallPyAutoGUI1该框架的依赖库还是蛮多的,第一次用的同学耐心等...

Python 失宠!Hugging Face 用 Rust 新写了一个 ML框架,现已低调开源

大数据文摘受权转载自AI前线整理|褚杏娟近期,HuggingFace低调开源了一个重磅ML框架:Candle。Candle一改机器学习惯用Python的做法,而是Rust编写,重...

Flask轻量级框架 web开发原来可以这么可爱呀~(建议收藏)

Flask轻量级框架web开发原来可以这么可爱呀大家好呀~今天让我们一起来学习一个超级可爱又实用的PythonWeb框架——Flask!作为一个轻量级的Web框架,Flask就像是一个小巧精致的工...

Python3使用diagrams生成架构图(python架构设计)

目录技术背景diagrams的安装基础逻辑关系图组件簇的定义总结概要参考链接技术背景对于一个架构师或者任何一个软件工程师而言,绘制架构图都是一个比较值得学习的技能。这就像我们学习的时候整理的一些Xmi...

几个高性能Python网络框架,高效实现网络应用

Python作为一种广泛使用的编程语言,其简洁易读的语法和强大的生态系统,使得它在Web开发领域占据重要位置。高性能的网络框架是构建高效网络应用的关键因素之一。本文将介绍几个高性能的Python网络框...

Web开发人员的十佳Python框架(python最好的web框架)

Python是一种面向对象、解释型计算机程序设计语言。除了语言本身的设计目的之外,Python的标准库也是值得大家称赞的,同时Python还自带服务器。其它方面,Python拥有足够多的免费数据函数库...

Diagram as Code:用python代码生成架构图

工作中常需要画系统架构图,通常的方法是通过visio、processon、draw.io之类的软件,但是今天介绍的这个软件Diagrams,可以通过写Python代码完成架构图绘制,确实很co...

分享一个2022年火遍全网的Python框架

作者:俊欣来源:关于数据分析与可视化最近Python圈子当中出来一个非常火爆的框架PyScript,该框架可以在浏览器中运行Python程序,只需要在HTML程序中添加一些Python代码即可实现。该...

10个用于Web开发的最好 Python 框架

Python是一门动态、面向对象语言。其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性。除了语言本身的设计目的之外,Python标准库也是值得大家称赞的,Python甚至还...

使用 Python 将 Google 表格变成您自己的数据库

图片来自Shutterstock,获得FrankAndrade的许可您知道Google表格可以用作轻量级数据库吗?GoogleSheets是一个基于云的电子表格应用程序,可以像大多数数据库管...

牛掰!用Python处理Excel的14个常用操作总结!

自从学了Python后就逼迫用Python来处理Excel,所有操作用Python实现。目的是巩固Python,与增强数据处理能力。这也是我写这篇文章的初衷。废话不说了,直接进入正题。数据是网上找到的...

将python打包成exe的方式(将python文件打包成exe可运行文件)

客户端应用程序往往需要运行Python脚本,这对于那些不熟悉Python语言的用户来说可能会带来一定的困扰。幸运的是,Python拥有一些第三方模块,可以将这些脚本转换成可执行的.exe...

对比Excel学Python第1练:既有Excel,何用Python?

背景之前发的文章开头都是“Python数据分析……”,使得很多伙伴以为我是专门分享Python的,但我的本意并非如此,我的重点还是会放到“数据分析”上,毕竟,Python只是一种工具而已。现在网上可以...

高效办公:Python处理excel文件,摆脱无效办公

一、Python处理excel文件1.两个头文件importxlrdimportxlwt其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入。2.读取exce...

取消回复欢迎 发表评论: