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

python进阶

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

已采纳回答 / Rocol
同学你使用的是Python3吧!在Python 3里,reduce()函数已经被从全局名字空间里移除了,它现在被放置在fucntools模块里。用的话要 先引入from functools import reduce   

已采纳回答 / 慕仔2331887
第6行返回的是lazy_prod函数的结果,不是lazy_prod函数本身。所以第8行f接收的是一个数值而不是函数,到了第9行执行的时候其实是执行的一个数值,所以会报类型错误。

已采纳回答 / weibo_倔强不屈的颜小贱95_0
对,self.numbers这个在__init__中赋值的,所以是这一类的实例的属性,你把numbers放到__init__的参数位子,你在实例化对象是就必须给它这么一个L,否则报错的。

已采纳回答 / AntonioQu
在Python 3.x, 取消了 cmp 参数, 只保留了Key Function参数。正确代码如下:<...code...>In Py3.0, the cmp parameter was removed entirely (as part of a larger effort to simplify and unify the language, eliminating the conflict betw...

已采纳回答 / 慕斯3058652
call一个字符串 f.__name__获取函数名字的方式

已采纳回答 / 一大坨
and运算符,先计算前,如果为真,才计算后面的,如果为假,是不会计算后面的。

已采纳回答 / nikeeeela
def calc_prod(lst):    def lazy_prod():        def f(x,y):            return x*y        return reduce (f,lst,1)f = calc_prod([1, 2, 3, 4])print f()按照题目预设是要print f() 这个函数由于reduce这个内置函数并不能调用f()所以需要搭建一个函数来做调用def lazy_prod():        def f(x,y):            ret...

已采纳回答 / Stronger3594243
函数要这样:<...code...>你的少了括号

已采纳回答 / 一顆好蛋
cmp爲比較函數 cmp(x,y) 若x>y 則返回1 x=y 則返回0 x<y 則返回-1

已采纳回答 / 慕无忌7475743
我也在学习过程中,我是这样理解的:x=f() : 因为f()它的返回值是一个funtion, x就是一个函数,当你再调用x()时就会真正的去调用g()这个funciotn.我在执行f()和x=f()都打印了“call f()...” 当你x=f(),这个过程是调用了f(),没有调用g().只是返回了g()函数我用的是python 3.6.3的版本。

已采纳回答 / 安妮的奇幻仙境
感觉有些乱,大概说下我的想法吧。你的performance传递的factor((10)),我觉得已经不是一个函数了,而是传递的一个值吧,factoral((10))可以认为是一个函数执行后得到的返回值。<...code...>

已采纳回答 / 慕盖茨7239041
默认继承了父类的__init__方法
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消