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

python进阶

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

已采纳回答 / Burgess_
这个函数类似于装饰器,在函数f1,f2,f3没有执行前,count()函数已经执行完了,若放在1处,count()函数执行完i和a已经变到3了,而且还没有传递到f()函数内部,之后执行f1(),f2(),f3()函数时,执行的f()函数都是a=3的结果,     若是放在2处,执行count()函数时,每次执行f()函数,a已经作为参数传递到f()函数内部了。   这样就会出现你这样的结果了

已采纳回答 / Burgess_
代码在我的PC端运行没问题,可能是PC端的问题

已采纳回答 / hzCN
只是函数名代表着函数拥有的功能prod是product的缩写,具有“积”的意思,第一个calc_prod代表被调用后具有求积的功能,第二个lazy_prod表示具有延迟执行的作用。

已采纳回答 / 大王叫我来转转
因为你写的是f()调用的是函数结果啊,你如果写print f他显示的就是一个函数了

已采纳回答 / wudishiduo
fs中应该是三个函数吧,函数需要你调用才会得出最后值,所以调用的是f1(),你可以先试试把fs打印看看里面是函数还是值

已采纳回答 / qq_涯_1
这就是一个选择关系 可以根据情况加else,最后也可以直接return 简洁

已采纳回答 / macleo
def cmp_ignore_case(s1, s2):
    if s1.lower() > s2.lower():
        return 1
    if s1.lower() < s2.lower():
        return -1
    return 0


print(sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case))
# 顺序反了呀

已采纳回答 / 小马_125
可以这么认为,self就是r1,r是r2,这样self.p,self.q,r.p,r.q分别是1,3,1,2,返回的p就是
self.p * r.q + self.q * r.p,返回的q就是self.q * r.q

已采纳回答 / 海上小岛
python的属性不需要提前定义,赋值即定义python的属性没有类型限制

已采纳回答 / 慕侠425669
and 是与运算,两边都为真,才返回真而这里s and len(s.strip())>0其中先看 s 本身是否为真,再看 len(s.strip())>0 ,也就是去掉 s 中的空白符(包括'\n', '\r', '\t', ' ')后,看是否为真此时,两边都为真的情况下,才说明这个s是真

已采纳回答 / 慕设计3172499
因为题目要返回一个函数,你return reduce(f, lst, 1) 就变成直接返回一个值了
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消