编写无参数decorator

import time
def performance(f):
    def fn(*args, **kw):
        t1 = time.time()
        r = f(*args, **kw)
        t2 = time.time()
        print 'call %s() in %fs' % (f.__name__, (t2 - t1))
        return r
    return fn

@performance
def factorial(n):
    return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)

参考代码里,有几个地方不懂,求教

1:f(*args, **kw)是什么意思,也没有定义以f命名的函数,为什么可以这样用

2:还有一个是f.__name__ 为什么可以这么用?

SakuraGaara
浏览 1393回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python