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

python进阶

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

已采纳回答 / 慕虎1455308
import math
def is_sqr(x):
    print math.sqrt(x)%1
    return math.sqrt(x)%1==0

print filter(is_sqr, range(1, 101))
0.00.4142135623730.7320508075690.00.23606797750.4494897427830.6457513110650.8284271247460.00.1622776601680.316624...

最赞回答 / 慕仔3718321
'(Student:%s,%s,%s)' %(self.name,self.gender,self.score)不是Student类名打成Person出错吗?

最赞回答 / 醉心雨晴
我知道是要固定cmp,但是cmp本身是一个函数,你把一个函数又赋值给cmp,感觉让人无法理解

最新回答 / 慕尼黑2315652
答案给的代码本省就会报错,他只是告诉于你这样子访问变量会报错的

最赞回答 / 好久不见Cancer
每次创建一个对象,都会调用一次初始化方法,即__init__,所以要把count += 1 放在__init__方法下面

最新回答 / 慕侠3569919
self.k 这一句使得Person有了一个Person.k的属性,因此这里需要用setattr来给类添加属性

已采纳回答 / qq_米饭_77
偏函数表达式f1= functools.partial(f, x),其中x是f的参数。查看sorted()函数:sorted(iterable, cmp=None, key=None, reverse=False),iterable:是可迭代类型;cmp:用于比较的函数,比较什么由key决定;key:用列表元素的某个属性或函数进行作为关键字,有默认值,迭代集合中的一项;reverse:排序规则. reverse = True  降序 或者 reverse = False 升序,有默认值。所以你需要在lam...

最赞回答 / 1小马哥1
cmp相当于base,没有赋予默认值,=lamdba s1,s2:cmp(s1.upper(),s2.upper())  加上就行了
def calc_prod(lst):
def aa(x,y):
return x*y

def a():
return reduce(aa,lst)
return a

f = calc_prod([1, 2, 3, 4])

print f()
之前函数返回得到的都是一个结果,数值

而调用要求函数返回的是一个函数,一个可以计算的公式
终于看懂意思了,
例子里面没有用闭包的时候count()=[f(),f(),f()],f()的值就是9,
用了闭包以后count()=[f(1),f(2),f(3)],
答案里面用r来接收f(i)反而不直观,写成fs.append(f(i))就非常清楚了

最赞回答 / Hibiko
在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 fucntools 模块里,如果想要使用它,则需要通过引入 functools 模块来调用 reduce() 函数:
from functools import reduce

最新回答 / suarezxyw96
你用的是python2的语法,但是你的环境是python3的环境。reduce函数在python3的内建函数移除了,放入了functools模块。可以在前面添加这样一行代码:
from functools import reduce
学习完毕打卡,会回来重新再刷一遍题目。
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消