为了账号安全,请及时绑定邮箱和手机立即绑定

看不懂了 代码还有错 能找到吗

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)


正在回答

3 回答

这个要分着看,分成%f和s。%f是格式化输出浮点数;而s就是一个字符,是时间单位秒。你仔细看看输出结果第一行最后一个是不是单位秒。我也看了半天,百度一下发现的


0 回复 有任何疑惑可以回复我~
#1

慕青33 提问者

哦 谢谢你 这样一说 很清晰呀 那要如何改进 新手小白
2018-09-01 回复 有任何疑惑可以回复我~

看你的代码,和我通过的一样,但是开头函数的缩进是不是有问题。装饰器本来就难懂,我刚开始不懂,直接跳到后面,学完再回来啃的。我后来在网上搜了一个资料,比较好懂,链接发你

http://www.codeceo.com/article/understanding-python-decorators.html

还有你可搜搜什么Python的转义字符什么,总之不懂的地方就去搜,然后组合理解,我其实是非计算机专业,也是自学啊

0 回复 有任何疑惑可以回复我~
#1

慕青33 提问者

好的 谢谢你 一起加油 很有用
2018-09-02 回复 有任何疑惑可以回复我~
#2

慕容9253047

嗯嗯,有用就好
2018-09-02 回复 有任何疑惑可以回复我~

print 'call %s() in %fs'          %fs是什么鬼    


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

看不懂了 代码还有错 能找到吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信