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

python进阶

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

已采纳回答 / PengCheng
可以啊,我是这样写的def cmp_ignore_case(s1, s2):    u1 = s1.lower()    u2 = s2.lower()    if u1 < u2:        return -1    if u1 > u2:        return 1    return 0print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)

最赞回答 / ES716
初学,不知道解释的对不对啊第一个问题:fs.append(lambda i=i: i*i) 相当于 fs.append(lambda j=i: j*j)(lambda i=i: i*i)中的第一个 i 是lambda自己声明的局部变量 , 会屏蔽掉外部的 i 变量值。第二个问题:fs.append(lambda a=i: i*i) 相当于 fs.append(lambda : i*i)(lambda a=i: i*i) 中的 i是引用外部变量 ,所以会发生变化,闭包要求不是不能引用外部会发生变化的变量么第...
我觉得老师讲得很棒,但是有些细节还不够完整。我把关于函数式编程的内容总结了一下:
http://blog.csdn.net/u012759878/article/details/49007869
欢迎各位共同交流~
我觉得老师讲得很棒,但是有些细节还不够完整。我把关于函数式编程的内容总结了一下:
http://blog.csdn.net/u012759878/article/details/49007869
欢迎各位共同交流~

最赞回答 / 星际怪物
grade()中使用 self.score 相当于调用get_score() return self.__score,与直接self.__score效果一样

已采纳回答 / starstone
个人看法啊,这个就是为了演示闭包而闭包的,真正用的时候接触django\flask框架时很多装饰器就是一种闭包...也初学,大牛勿喷哈

最赞回答 / 学习攻城狮
这个是为了保证输出,执行你之前没有装饰的函数。我的理解。就是为了保证经过装饰之后还是与原来的功能一样,只不过多了一些说明性的东西
def is_need(item):
key = &quot;__&quot;
return item and not item.startswith(key) and not item.endswith(key)
print &quot;result = &quot;, filter(is_need, L)
def is_need2(item):
return len(item) &gt;= 2 and item[0:2].find(&quot;__&quot;) and item[-2:].find(&quot;__&quot;)

f = lambda item: item and not item.startswith(&quot;__&quot;) and not item.endswith(&quot;__&quot;)

print &quot;result2 = &quot;, filter(is_need2, L)
print &quot;lambda result = &quot;, filter(f, L)
感觉python和javascript非常相似

已采纳回答 / 轮回无极限
因为filter()是让函数依次作用于列表中的元素,根据函数来判断是否留下该元素,所以你在函数中希望返回值是x的平方并没有什么用,它还是原来列表中的元素。而且这也不该是做题的顺序啊,你倒是先想出了答案在往上套它的平方了。可以把is_sqr函数中的语句改成return math.sqrt(x) % 1 == 0
import math

def is_sqr(x):
return math.ceil(math.sqrt(x))**2==x

print filter(is_sqr, range(1,100+1))
没有 def(self,)这样格式。。。
没有 和 实例联系起来,也就是自己本身可以独立运行
def cmp_ignore_case(s1, s2):
if s1.lower() &lt; s2.lower():
return -1
if s1.lower() &gt; s2.lower():
return 1
return 0

print sorted([&#039;bob&#039;, &#039;about&#039;, &#039;Zoo&#039;, &#039;Credit&#039;], cmp_ignore_case)
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消