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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰

已采纳回答 / 5941
这就是个打印语句,中间的%s,%f分别代表字符参数和浮点参数,通过引号后面的%()来传递参数,f代表的是def perf_decorator(f):中的f,也就是你在@performance('ms')      def factorial(n):    return reduce(lambda x,y: x*y, range(1, n+1))中定义的factorial函数,f.__name__好像还没讲到,不过我认为是这个函数的名字,即‘factorial’,应该是python提供的。unit则是@pe...

最赞回答 / qq_忆_4
return f(x)是返回原来函数的返回值...fn是一个新函数...return fn是返回新函数..新函数    新操作    调用旧函数是一个这样的形式吧..也就是说这样的话就扩充了旧函数的功能了..执行过程应该是这样...先log(f)得到新函数的地址..之后调用新函数就完成了对旧函数的扩充...(这个地址的说法来源于C语言,理解的不对的地方还请谅解..菜鸟一只)

最赞回答 / 5941
在本题你这么看好像是没什么差别,但是你放到上一题就可以看出差别了。没有return r,你调用factorial()的结果是None,因为没有返回值回来。有了return r,才能输出factorial计算的阶乘答案。本题没差别的原因是本题中并没有调用factorial函数,而是只取了它的__name__这个属性。

最新回答 / 码农的自我修养
 (f.__name__, t, unit)是个元组,%s可以理解成对应参数'call %s() in %f %s' % (f.__name__, t, unit)  也可以这样写:'call %s() in %s [%s]'  % (f.__name__, time.time()-start, unit)#f.__name__是取函数名,start=time.time(),开始运算时间,unit是传入的单位。入门课程里面有个类似的,复杂表达式    那里

已采纳回答 / 如果撞上假如
有的包安装的时候 需要vc 2008或者其他版本,不想安装的话可以装个插件http://www.microsoft.com/en-us/download/details.aspx?id=44266

最赞回答 / 慕函数8845467
直接import也可以,但是下面调用时加上__future__.unicode_literals吧

最赞回答 / JS000
当调用count()时,开始执行循环语句,i分别变成1,2,3即fs=[f(1),f(2),f(3)],因为f1,f2,f3 = count(),因此f1=f(1),f2=f(2),f3=f(3)。然后执行f1(),f2(),f3(),即分别调用三个函数,由代码可知def f(j):            def g():                return j*j            return g即f1=f(1)=g,所以f1()=g(),执行g函数,返回j*j,此时j=1 所以f1()=...

最新回答 / 移民大熊猫
==是等于符号,=是赋值符号。一般出结果都是要用等于。
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消