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

python进阶

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

最赞回答 / weixin_慕丝8347161
我也是初学,我的理解是这样,不知道对不对print f()执行f函数,而f=calc_prod([1, 2, 3, 4]),意味着f函数是calc_prod([1, 2, 3, 4])调用之后返回的函数对象。即lazy_prod函数。也就是说调用的其实是lazy_prod()函数,lazy_prod函数返回的是reduce(f,lst),也就是对lst集合进行f函数的reduce操作,其次就进入f(x,y)函数,这个函数返回的是x*y,也就是对lst集合进行累乘操作,结果就是1*2*3*4=24

最赞回答 / wztg
    在__cmp__中先判断列表中元素是否是Student类型,不是的话转成字符串跟name比较就可以了
    def __cmp__(self, s):
        if not isinstance(s, Student):
            return cmp(self.name,...

最赞回答 / leng奕书
python3中map()返回iterators类型,不再是list类型。进行list转换即可.def format_name(s):    return s.capitalize()print(list(map(format_name,['adam', 'LISA', 'barT'])))

已采纳回答 / Ayeesha39
应该是s[0].upper() + s[1:].lower()  ,注意()哦!

最新回答 / skyinglyh
map的用法:map(function, iterable...)你的写法其实是把format_name(s)中的s即'adam', or 'LISA', 'barT',一个string中的每个元素转为title 然后拼成List,再返回,所以最终string会被拆为List. 参考def format_name(s):    return s.title()print map(format_name, ['adam', 'LISA', 'barT'])或def format_names(s):    r...

最赞回答 / 慕UI8710318
count是类属性,要改变类属性得用“Person.count”,“p1.count”改变的只是实例p1的属性,而是实例属性的优先级比类属性高,我是这么理解的。

最赞回答 / 流芒阿
别那么玄 你API都开放给别人,别人就只能调用而已 。 就是你的类被继承的时候,你不希望子类重写一些属性。在架构设计的时候,java上会些一些被保护和私有属性或者方法,避免一些瓜皮把系统整崩了

最新回答 / 宝慕林1502307
<...code...>你把代码分隔一下,有助于理解。<...code...>之所以会这样输出,是因为 print 在输出时,会先去求解 f() 的运算结果,而 f() 运算的副作用就是在 print 方法之前输出了<...code...>

已采纳回答 / 悠哉悠哉3311454
import mathdef layers(n):  n_sqrt = math.ceil(math.sqrt(n))  if (n_sqrt % 2 == 0):    n_sqrt = n_sqrt + 1  layer = (n_sqrt + 1) / 2  return layerprint layers(88)

最赞回答 / 贰很贰
g所引用的变量j不是循环变量,你在调用r=f(i)时,返回的就是1*1,2*2,3*3,count()函数接受的是一个列表【1,4,9】,
f1,f2,f3 = count()#返回多个值时,可以用多个变量接收,这里的f1只是对应的列表索引0
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消