Discuss / Python / 作业

作业

Topic source
def metric(fn):
    @functools.wraps(fn)
    def wrapper(*args, **kw):
        # 获取开始时间
        start = time.time()
        fn(*args, **kw)
        # 获取结束时间
        end = time.time()
        print('%s executed in %s ms' % (fn.__name__, int(round((end -start)*1000))))
        return fn
    return wrapper

兄弟,

 fn(*args, **kw)
return fn

你这返回的是一个函数,在外面获取的是个函数地址。

他已经把时间打印出来了,其他的不是那么重要,当然你如果需要函数的返回值的话加一下就好了

def metric(fn):
    @functools.wraps(fn)
    def wrapper(*args, **kw):
        # 获取开始时间
        start = time.time()
        result=fn(*args, **kw)
        # 获取结束时间
        end = time.time()
        print('%s executed in %s ms' % (fn.__name__, int(round((end -start)*1000))))
        return result
    return wrapper

一盒噪噪

#4 Created at ... [Delete] [Delete and Lock User]

必须需要函数的返回值啊,不能返回一个函数

这把函数的性质都改变了,在函数被赋值的时候,调用函数得到的不是一个结果,而是一个函数的地址

因为在题目中,我们需要验证 f==33

f是一个函数地址的情况下,怎么可能等于33


  • 1

Reply