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

python进阶

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

已采纳回答 / Dianepure_
f1=f(1) 没有意义,你即使把for循环去掉,一样是这个结果 ,这是你赋初值产生的结果。这一节课程里讲的不太清楚,我最开始也云里雾里了半天,最后突然意识到,return的函数实质是一个值,该值就是 被返回函数的物理地址,你按照这个逻辑来理解,就解释的通了。

已采纳回答 / qq_知弦轻流_0
观察filter方法在api中的定义:<...图片...>发现filter方法的两个参数只能是按照固定的顺序,第一个为函数,第二个为list希望能帮到你

最赞回答 / Awful_Leo
def log(f):
    def fn(x):
        print 'call ' + f.__name__ + '()...'
        return f(x)
    return fn
以上代码定义一个装饰器log(f)。当常规方法前面有装饰器符号@的时候,调用此方...
def count():
fs = []
for i in range(1, 4):
def f(j=i):
return j*j
fs.append(f)
return fs

f1, f2, f3 = count()
print f1(), f2(), f3()

最赞回答 / 慕勒0274693
我的理解是  r = f(*args,**kw)是对函数进行了一次调用,t1,t2分别记录了调用函数前后的时间戳(并不太明白时间戳的解释\(-_-)/),这样再由(t2-t1)得出调用函数f所用时间

最赞回答 / 慕运维4097268
你没有调用你自己定义的函数,应该把第四行代码改为print(add(-5, 9, abs))

最赞回答 / qq_慕前端7198755
1是reduce的第三个参数 代表初始计算结果 也就是下面在计算1*2*3*4时先乘上一个1 计算过程1*1->(1*1)*2->(1*1*2)*3->(1*1*2*3)*4

最新回答 / 划水人
self是实例的引用,是你实例化对象本身,前面有说。

最新回答 / 划水人
<...图片...>是对的, == 比较的是两个对象的内容是否相同,这里就是表示两个数字是否相等。虽然1.0和1不是同一个对象(is),但是结果是相等的。

已采纳回答 / 神宗小熊猫
因为在上面for循环中往list里面放进去了三个函数,所以f1, f2, f3 = count()  这句话的意思就是把这存在list里面的三个函数分别赋给f1,f2,f3。

最新回答 / qq_最初的最初_1
先把基础的学好,再找相关的视频看。好好学习

已采纳回答 / Kalevn
首先我想说明的是,count()返回的fs[]存储的是g()在i为1,2,3时的函数名的地址问题1:count()可以用list变量接收,可是遍历结果一样会是三个函数名的地址问题2:f1()是调用了count(),也就是i为1的时候问题3:应该是这里显示的问题,添加到fs列表的内容是函数地址,在python2中打印不出来,不过在python3中打印出来是f1是<function count.<locals>.f.<locals>.g at 0x0000022A37A22268...

最赞回答 / Jane_meng
个人理解:在原题目中fs.append(f)是向fs这个list中新增了函数(函数成为了list的元素),并且该函数还并未被调用,也就是没有运行,也就没有计算i*i的值,函数中的变量i会随着for循环而改变,循...
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消