python timer函数_PYTHON 高手帮忙解释一段 计时函数

看python学习手册第四版发现的一段想不通的代码书上的代码是importtimereps=1000repslist=range(1000)deftimer(func,*pargs,**kargs):start=time.clock()foriinrepslist:#问题1这里为...

看python 学习手册第四版 发现的一段想不通的代码

书上的代码是

import timereps = 1000

repslist =range(1000)

def timer(func,*pargs,**kargs): start = time.clock()

for i in repslist: #问题1 这里为什么要用 for 循环

ret = func(*pargs,**kargs)

elapsed = time.clock() - start

return(elapsed,ret)

def tlist():

return [x ** 2 for x in repslist]

def tmap():

return list(map((lambda x: x**2),repslist))

def forloop(): res = [] for x in repslist:

res.append(x ** 2)

return res

for test in (forloop,tlist,tmap):

elapsed,result=timer(test)

print('-' * 40)

print('{0:9s}:{1:.5f} in [{2}...{3}]'.format(test.__name__,elapsed,result[0],result[-1]))

后来我把代码经成酱紫 发现也能实现效果

import time

def timer(func,*pargs,**kargs):

start = time.clock()

ret = func(*pargs,**kargs)

ti = time.clock() - start return(ti,ret)

def tlist():

return [x for x in range(10000000)]

def tfor(): res = []

for x in range(10000000):

res.append(x)

a,b= timer(tlist)

print('{0:.10}'.format(a))

a,b= timer(tfor)print('{0:.10}'.format(a))

1,不明白 为什么第一段代码的timer函数中为什么要使用 for 循环

2,十分迷茫不知道

def timer(func,*pargs,**kargs):

func(*pargs,**kargs)

重点解释下 2是怎么工作的

是什么意思 ,每次看到*都能迷糊半天,希望高手能,分步骤解释下,2是什么概念.最好在推荐几篇相关文章

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值