Python中统计函数运行耗时的方法

   本文实例讲述了Python中统计函数运行耗时的方法。分享给大家供大家参考。具体实现方法如下:

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

import time
def time_me(fn):
def _wrapper(*args, **kwargs):
start = time.clock()
fn(*args, **kwargs)
print "%s cost %s second"%(fn.__name__, time.clock() - start)
return _wrapper
#这个装饰器可以在方便地统计函数运行的耗时。
#用来分析脚本的性能是最好不过了。
#这样用:
@time_me
def test(x, y):
time.sleep(0.1)
@time_me
def test2(x):
time.sleep(0.2)
test(1, 2)
test2(2)
#输出:
#test cost 0.1001529524 second
#test2 cost 0.199968431742 second

  另一个更高级一点的版本是:

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

import time
import functools
def time_me(info="used"):
def _time_me(fn):
@functools.wraps(fn)
def _wrapper(*args, **kwargs):
start = time.clock()
fn(*args, **kwargs)
print "%s %s %s"%(fn.__name__, info, time.clock() - start), "second"
return _wrapper
return _time_me
@time_me()
def test(x, y):
time.sleep(0.1)
@time_me("cost")
def test2(x):
time.sleep(0.2)
test(1, 2)
test2(2)

  希望本文所述对大家的Python程序设计有所帮助。

时间: 2024-09-20 00:12:09

Python中统计函数运行耗时的方法的相关文章

在Python中操作字典之clear()方法的使用

  这篇文章主要介绍了在Python中操作字典之clear()方法的使用,是Python入门的基础知识,需要的朋友可以参考下 clear()方法将删除字典中的所有项目(清空字典) 语法 以下是clear()方法的语法: ? 1 dict.clear() 参数 NA 返回值 此方法不返回任何值. 例子 下面的例子显示了clear()方法的使用 ? 1 2 3 4 5 6 7 #!/usr/bin/python   dict = {'Name': 'Zara', 'Age': 7};   print

在Python中操作字典之fromkeys()方法的使用

  这篇文章主要介绍了在Python中操作字典之fromkeys()方法的使用,是Python入门的基础知识,需要的朋友可以参考下 fromkeys()方法从序列键和值设置为value来创建一个新的字典. 语法 以下是fromkeys()方法的语法: ? 1 dict.fromkeys(seq[, value])) 参数 seq -- 这是将用于字典的键准备的值的列表. value -- 这是可选的,如果提供的话则值将被设置为这个值 返回值 此方法返回列表. 例子 下面的例子显示fromkeys

在Python中操作字典之setdefault()方法的使用

  这篇文章主要介绍了在Python中操作字典之setdefault()方法的使用,是Python入门学习中的基础知识,需要的朋友可以参考下 setdefault()方法类似于get()方法,但会设置字典[键]=默认情况下,如果键不是已经在字典中. 方法 以下是setdefault()方法的语法: ? 1 dict.setdefault(key, default=None) 参数 key -- 这是要被搜索的键 default -- 这是没有找到键的情况下返回的值. 返回值 此方法返回字典可用的

在Python中处理字符串之isdecimal()方法的使用

  这篇文章主要介绍了在Python中处理字符串之isdecimal()方法的使用,是Python入门学习的基础知识,需要的朋友可以参考下 isdecimal()方法检查字符串是否仅由十进制字符组成.此方法只存在于unicode对象. 注意:要定义一个字符串为Unicode,只需前缀分配'u'左引号.以下是示例. 语法 以下是isdecimal()方法的语法: ? 1 str.isdecimal() 参数 NA 返回值 如果字符串中的所有字符为十进制此方法返回true,否则返回false. 例子

在Python中操作文件之truncate()方法的使用教程

  这篇文章主要介绍了在Python中操作文件之truncate()方法的使用教程,是Python入门学习中的基础知识,需要的朋友可以参考下 truncate()方法截断该文件的大小.如果可选的尺寸参数存在,该文件被截断(最多)的大小. 大小默认为当前位置.当前文件位置不改变.注意,如果一个指定的大小超过了文件的当前大小,其结果是依赖于平台. 注意:此方法不会在当文件工作在只读模式打开. 语法 以下是truncate()方法的语法: ? 1 fileObject.truncate( [ size

Python中操作文件之write()方法的使用教程

  这篇文章主要介绍了Python中操作文件之write()方法的使用教程,是Python入门学习中的基础知识,需要的朋友可以参考下 write()方法把字符串str写入文件.没有返回值.由于缓冲,字符串可能不实际显示文件,直到flush()或close()方法被调用. 语法 以下是write()方法的语法: ? 1 fileObject.write( str ) 参数 str -- 这是要被写入的文件中的字符串. 返回值 此方法不返回任何值. 例子 下面的例子显示write()方法的使用. ?

在Python中操作文件之read()方法的使用

  这篇文章主要介绍了在Python中操作文件之read()方法的使用教程,是Python入门学习中的基础知识,需要的朋友可以参考下 read()方法读取文件size个字节大小.如果读取命中获得EOF大小字节之前,那么它只能读取可用的字节. 语法 以下是read()方法的语法: ? 1 fileObject.read( size ); 参数 size -- 这是可以从文件中读取的字节数. 返回值 此方法返回读取字符串中的字节数. 例子 下面的例子显示了read()方法的使用. ? 1 2 3 4

在Python中操作文件之seek()方法的使用

  这篇文章主要介绍了在Python中操作文件之seek()方法的使用教程,是Python入门学习中的基础知识,需要的朋友可以参考下 seek()方法在偏移设定该文件的当前位置.参数是可选的,默认为0,这意味着绝对的文件定位,它的值如果是1,这意味着寻求相对于当前位置,2表示相对于文件的末尾. 没有返回值.需要注意的是,如果该文件被打开或者使用'a'或'A+'追加,任何seek()操作将在下次写撤消. 如果该文件只打开使用"a"的追加模式写,这种方法本质上是一个空操作,但读使能(模式'

在Python中处理列表之reverse()方法的使用教程

  这篇文章主要介绍了在Python中处理列表之reverse()方法的使用教程,是Python入门中的基础知识,需要的朋友可以参考下 reverse()方法代替逆转列表对象. 语法 以下是reverse()方法的语法: ? 1 list.reverse() 参数 NA 返回值 此方法不返回任何值,但反转列表中的给定对象. 例子 下面的例子显示了reverse()方法的使用. ? 1 2 3 4 5 6 #!/usr/bin/python   aList = [136, 'xyz', 'zara