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

python进阶

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

已采纳回答 / 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...>你的少了括号

最新回答 / 一顆好蛋
f表示reduce函數接受的函數  就是你之前def定義的函數   lst是reduce函數接受的數列   就是你傳進的數列   1是從1開始  如果你選100  就會從100開始  把100拿進去計算 比如:def prod(x,y):#prod 我這裏定義爲乘積函數    return x*yprint reduce( prod , lst ,100)假如lst=[1,2,3]結果爲1×2×3×100=600print reduce( prod , lst ,1)結果爲1×2×3×1=6

已采纳回答 / 一顆好蛋
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的版本。

最新回答 / Broken_Open
f和fn是不一样的。定义的log函数是重新定义原f函数, 所以log函数传入的参数f是原始函数名(地址),log函数返回结果fn是重新定义的函数名(地址),调用g = log(f1) g就是fn,所以:1. g=log(f1)print g(5) 2.  @log  def f1(n)...... print f1(5)1和2其实是等价的。

最赞回答 / LNYIE
要定义的话 是要在def中定义不是吗

最新回答 / 慕圣6306288
父类中定义成双下划线__开始的,子类就不会继承了。

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

最新回答 / 半城风月
人家要求按名字排序,你直接比较实例,出来顺序不对

最新回答 / windwhisper3828490
常用代码,https://docs.python.org/3.4/library/functions.html 或者 http://python.usyiyi.cn/translate/python_352/library/functions.html
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消