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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
这节reduce的作用没讲太清楚
多谢大家的讲解评论,琢磨了好一阵才弄懂,自己想真心想不懂
刚去找了找,这个便于理解。http://python.jobbole.com/85056/
脑子不够用了,有点懵逼、、、、
关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。
匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。
有点绕呀!!!
class Person():
pass
xiaoming = Person()
xiaohong = Person()

print xiaoming
print xiaohong
print xiaoming==xiaohong
学到这里想放弃了
Nice,你这是年薪过百万的节奏啊!
import math

def add(x, y, f):
return f(x) + f(y)
print add(25, 9, math.sqrt)
其实这些课程当作老师教程官网上的练习题挺好的,有不会的话也可以看下下面的解答。
为什么这么不对啊:
for val in kw:
self.val = kw[val]
说白了装饰器其实就三点:
1、返回函数名
2、带参数
3、functools.wraps
*args, **kw:*args是一个tuple,而**kw是一个dict;
def kw_dict(**kw):
return kw
print kw_dict(a=1,b=2,c=3) # --> {'a':1, 'b':2, 'c':3}
当同时使用*args和**kw时,必须*args参数在**kw前;
def test( *args, **kw ):
print 'args : ', args
print 'kw : ', kw
test( 1, 2, 3, a = 1, b = 2, c = 3 )
#字数限制,结果自行copy尝试
这就是闭包的概念,即使包裹函数没了,但是还有嵌套变量存在。

改写前,f1(), f2(), f3()函数中对应的函数其实都是f(),参数只有最后一次循环的i = 3,所以得到的结果都为9。

改写后,f1(), f2(), f3()函数对应的其实是闭包函数g(),每一次循环时,包裹函数f()传给他一个值i,它是会记住的,在__closure__ 中能查询到.所以不会丢失
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消