r = f(*args, **kw)
请问r = f(*args, **kw)是什么意思
请问r = f(*args, **kw)是什么意思
2015-03-19
*args,**kw是自动匹配数组和字典。参见http://blog.csdn.net/anhuidelinger/article/details/10011013。
通过t2-t1的时间差,求出的就是我们调用这个函数的时间,计算为0.689030 ms
在这个地方,带入的应该factorial(10)中10这个数值,所以我觉得可以去掉**kw,我运行后,结果效果的确一样,时间变为0.686884 ms。大胆猜测下,10其实只是一个数值,所以也不用数组匹配,所以可以使用变量名a代替,时间变更为0.673056 ms。
而r = f(*args, **kw)为什么会把factorial(10)带入,我觉的应该在第二个函数定义里面,调用了这个函数,f其实就是factorial。
至于为什么是调用到f这个函数的位置,而不是unit,我也不能很好解释,应该是因为@performance('ms')中‘ms’匹配了unit,所以factorial()匹配了f()么,这一点可能就是这一节的重点了。
举报