python使用timeit时间模块

1. timeit.timeit(stmt=‘pass', setup=‘pass', timer=<default timer>, number=default_number)

  • timeit() 函数有四个参数,每个参数都是关键字参数,都有默认值。
  • stmt:传入需要测试时间的代码,可以直接传入代码表达式或单个变量,也可以传入函数。传入函数时要在函数名后面加上小括号,让函数执行,如 stmt = ‘func()' 。
  • setup:传入 stmt 的运行环境,如 stmt 中使用到的参数、变量,要导入的模块等,如 setup = 'from __main__ import func'。可以写一行语句,也可以写多行语句,写多行语句时用分号隔开。
  • 如果 stmt 和参数 setup 参数不传值,那么就失去了测试的意义,所以这两个参数是必要的。
  • timer: timer参数是当前操作系统的基本时间单位,默认会根据当前运行环境的操作系统自动获取(源码中已经定义),保持默认即可。
  • number:要测试的代码的运行次数,默认1000000(一百万)次,对于耗时的代码,运行太多次会花很多时间,可以自己修改运行次数。

2. timeit.repeat(stmt="pass", setup="pass", timer=default_timer, repeat=default_repeat, number=default_number)

  • repeat()函数有五个参数,每个参数都是关键字参数,都有默认值。参数含义与timer()相同
  • repeat:表示测试要重复几次,可以理解为将相同参数的 timeit() 函数重复执行。最终的结果构成一个列表返回,repeat 默认为3次。

3. class timeit.Timer(stmt=‘pass', setup=‘pass', timer=<timer function>)

  • 计算小段代码执行速度的类,构造函数需要的参数有stmt,setup,timer。
  • 前两个参数的默认值都是pass,timer默认会根据当前运行环境的操作系统自动获取;前两个参数都可以包含多个语句,多个语句间使用分号;或新行隔开
import timeit
def t1():
 li = [i for i in range(100000)]
def t2():
 li = []
 for i in range(100000):
  li += [i]
def t3():
 li = []
 for i in range(100000):
  li.append(i)
def t4():
 li = []
 list(range(100000))
def t5():
 li = []
 for i in range(100000):
  li.extend([i])
def t6():
 li = []
 for i in range(100000):
  li.insert(0,i)

# 方式1:timeit.timeit()
# list_t1 = timeit.timeit('t1()','from __main__ import t1',number=1)
# print("i for i in range(100000): %s" %(list_t1))

# 方式2:timeit.repeat()
# list_t2 = timeit.repeat('t2()','from __main__ import t2',repeat=1,number=1)
# print("li += i: %s" %(str(list_t2)))

# 方式3:timeit.Timer
# timer3 = timeit.Timer('t3()','from __main__ import t3')
# print("li.append(i): %s" %(timer3.timeit(number=1)))

# 直接传入字符串对象
# list_l4 = timeit.timeit('li = [i for i in range(1000)]',number=1)
# print(str(list_l4))

# 传入多个函数对象(;或空行分隔)
list_l5 = timeit.repeat('t4();t5();t6()','from __main__ import t4;from __main__ import t5;from __main__ import t6',repeat=1,number=1)
print(str(list_l5))

以上就是python使用timeit统计运行时间模块的详细内容,更多关于python使用timeit的资料请关注我们其它相关文章!

时间: 2021-04-05

Python3 json模块之编码解码方法讲解

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,在接口数据开发和传输中非常常用. Python3中我们利用内置模块json解码和编码JSON对象.json模块提供了四个功能: dumps.dump.loads.load dumps 把数据类型转换成字符串  dump  把数据类型转换成字符串

Python中re模块的常用方法总结

前言 正则表达式作为计算机科学的一个概念,通常被用来检索.替换那些符合某个规则的文本.正则表达式是对字符串操作的一种逻辑公式,用事先定义好的规则字符串对字符串进行过滤逻辑处理. re模块总结,正则表达式.在网络爬虫中对于数据定位,学习regex也很有必要 常用方法 re.compile() 将指定的正则表达式模式编译为正则表达式对象,可用于匹配和搜索 re.match() 该方法用于匹配字符串开头的模式 re.serach() 该方法用于匹配出现在字符串中任意位置的模式 re.findall()

python glom模块的使用简介

工欲善其事,必先利其器!我们想要更轻松更有效率地开发,必须学会一些"高级"技能.前不久看到一位 Python 高僧的代码,其中使用了一个短小精悍的模块,我认为还蛮有用的,今天分享给大家. 这个模块就叫 glom ,是 Python 处理数据的一个小模块,它具有如下特点: 嵌套结构并基于路径访问 使用轻量级的Pythonic规范进行声明性数据转换 可读.有意义的错误信息 内置数据探测和调试功能 看起来比较抽象,对不对?下面我们用实例来给大家演示一下. 安装 作为 Python 内置模块,

python urllib.request模块的使用详解

python的urllib模块提供了一系列操作url的功能,可以让我们通过url打开任意资源.其中比较常用的就是request模块,本篇主要介绍requset模块. urllib子模块 urllib.request 打开或请求url urllib.error 捕获处理请求时产生的异常 urllib.parse 解析url urllib.robotparser 用于解析robots.txt文件 robots.txt是一种存放于网站根目录下文本文件,用来告诉网络爬虫服务器上的那些文件可以被查看.又被

python requests模块的使用示例

为什么使用requests: 支持使用Cookie保持会话 支持文件上传 支持自动确定响应内容的编码 对用户来说比较人性化 模拟get请求: 获取token # 使用微信公众平台举例 get_param_dict={ "grant_type":"**************", "appid":"**************", "secret":"**************", }

python tkinter模块的简单使用

由于一些小原因,被迫开始了tkinter一次实战演练.在此做一些记录,总结以及给自己留一些轮子哈哈哈哈哈哈 tkinter 是 Python 的一个GUI库,本次实战完全使用tkinter,不牵扯任何其他第三方库的使用. 1.任务要求 画一个具有上传病患信息以及图片功能的用户界面 2.简单设计 由于时间紧迫且只要求可视化,背后没有必要太过精细,所以简单设计思路是,利用下拉列表实现病患信息的填写,用text显示选择图片的路径. 表面上的组件包括:两个Button:选择目录 SELECT THE D

python 绘图模块matplotlib的使用简介

上周对线上某几个磁盘进行了fio硬盘性能测试,测试完成之后的结果需要绘制成图像展示出来.我在官网上查找了一下fio自带的命令fio_generate_plot和fio2gnuplot工具的用法,找到了图像的绘制方法,在某一个单一的场景下,确实可以使用这两个工具来进行硬盘性能图像绘制,但是问题是,如果要对比多个场景下绘制出来的图像的差异,fio自带的绘图工具实现起来就有些困难了,但是确实也能实现.例如下图: 如图所示为磁盘iodepth不变,numjobs在(1,8,16)三种不同的场景下绘制出来

Python模块介绍与使用详细讲解

模块的相关概念 1. 什么是模块 模块就好比是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块 模块的英文名叫: modules,一个模块中可以包含N个函数,也可以包含类等等. 在Python中一个扩展名为.py的文件就是一个模块. 2. 使用模块的好处 方便其他程序和脚本的导入并使用 避免函数名和变量的冲突 提高代码的可维护性 提高代码的可重用性 模块的使用 1. 自定义模块 创建一个.py文件,名称尽量不要与Python自带的标准模块名称相同,需要见名知意. a) 方法一

python 中os模块os.path.exists()的用法说明

os即operating system(操作系统),Python 的 os 模块封装了常见的文件和目录操作. os.path模块主要用于文件的属性获取,exists是"存在"的意思,所以顾名思义,os.path.exists()就是判断括号里的文件是否存在的意思,括号内的可以是文件路径. 举个栗子: user.py为存在于当前目录的一个文件 输入代码: import os path = os.path.exists('user.py') print(path) 输出结果: True P

Python实现学生管理系统的代码(JSON模块)

构思 学生管理系统 应该包含老师注册登录 管理学生信息(增删改查)还有数据持久化 因为数据存入JSON文件 增删改查都需要读取和修改文件 所以需要一个读写文件的方法文件 file_manager 密码加密可以用到哈希模块文件 tools 老师和学生的类文件 model 程序入口(主页)文件index 核心增删改查文件 student_manager file_manager.py """ Project: ClassStudent Creator: 猫猫 Create tim

python os模块和fnmatch模块的使用介绍

一.先介绍一下os模块 import os   print(os.getcwd()) # E:\python\test\python_models # 获取当前的目录     print(os.listdir(".")) # ['oop.py', 'python_argparse.py', 'python_click.py', 'python_os.py', 'python_re.py', 'python_requests.py', 'xx.py', '__init__.py'] #

基于Python os模块常用命令介绍

1.os.name---判断现在正在实用的平台,Windows返回'nt':linux返回'posix' 2.os.getcwd()---得到当前工作的目录. 3.os.listdir()--- 4.os.remove---删除指定文件 5.os.rmdir()---删除指定目录 6.os.mkdir()---创建目录(只能创建一层) 7.os.path.isfile()---判断指定对象是否为文件.是则返回True. 8.os.path.isdir()---判断指定对象是否为目录 9.os.p

Python os模块学习笔记

一.os模块概述 Python os模块包含普遍的操作系统功能.例如文件的复制.创建.修改.删除文件及文件夹... 二.常用方法 1.os.listdir()   返回指定目录下的所有文件和目录名. 2.os.remove()  删除一个文件. 3.os.system()  运行shell命令. 4.os.path.split()   函数返回一个路径的目录名和文件名 5.os.path.isfile()和os.path.isdir()   函数分别检验给出的路径是一个文件还是目录,返回值分别为

Python使用os模块和fileinput模块来操作文件目录

os模块 在python编程中,我们会经常使用到文件和目录,这些操作python提供一个os模块,里面有很多操作文件和目录的函数. 下面介绍os的常用功能 1.获取当前路径 >>> os.getcwd() '/root/python' 2.获取目录中的内容 >>> os.listdir(os.getcwd()) ['deco.py', '6.py', 'inputfile.py', 'uniFile.py', 'oddnogen.py', 'ospathex.py',

python os模块简单应用示例

本文实例讲述了python os模块简单应用.分享给大家供大家参考,具体如下: 举例中的目录形式如下所示: In [36]: pwd Out[36]: '/home/python/Desktop/code' In [37]: ls hello.py hello.txt test.py 文件夹01/ 文件夹02/ 文件夹03/ 1.当前路径及路径下的文件 os.getcwd():查看当前所在路径. os.listdir(path):列举目录下的所有文件.返回的是列表类型. In [1]: impo

使用python os模块复制文件到指定文件夹的方法

复制一个文件夹的文件到指定目录下 import os import shutil import time start_time = time.time() # 需要被复制的文件夹 old_path = r'D:\zjf_workspace\001-地标.利器.服饰\004文本\json1' new_path = r'D:\zjf_workspace\001-地标.利器.服饰\004文本\json' all_list = os.listdir(old_path) for i in all_list

Python OS模块实例详解

本文实例讲述了Python OS模块.分享给大家供大家参考,具体如下: os模块 在自动化测试中,经常需要查找操作文件,比如查找配置文件(从而读取配置文件的信息),查找测试报告等等,经常会对大量文件和路径进行操作,这就需要依赖os模块. 1. os.getcwd() 功能:查看当前所在路径 import os print(os.getcwd()) 2. os.listdir() 列举目录下所有的文件,返回的是列表类型 import os print(os.listdir("c:\file&quo

python os.path模块常用方法实例详解

os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法.更多的方法可以去查看官方文档:http://docs.python.org/library/os.path.html 1.os.path.abspath(path) 返回path规范化的绝对路径. >>> os.path.abspath('test.csv') 'C:\\Python25\\test.csv' >>> os.path.abspath('c:\\test.csv') '

Python os模块常用方法和属性总结

这篇文章主要介绍了Python os模块常用方法和属性总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. os 模块常用的方法及属性 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcwd:得到当前工作目录,即当前python脚本工作的目录路径. os.getenv()和os.putenv:分别用来

浅谈Python中os模块及shutil模块的常规操作

如下所示: #os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表.这个列表以字母顺序. 它不包括 '.' 和'..' 即使它在文件夹中. #只支持在 Unix, Windows 下使用 import os, sys # 打开文件 path=r'C:\Users\Administrator.SKY-20180518VHY\Desktop\rx\ore' dirs = os.listdir( path ) print(dirs) # 输出所有文件和文件夹 for fil

python os模块常用的29种方法使用详解

os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 print(os.getcwd()) >>E:\pycharm\test os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.chdir('E:\pycharm') print(os.getcwd()) >>E:\pycharm os.curdir 是一个值,返回当前目录: ('.') print(os.curdir) >>. os