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

python进阶

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

最新回答 / 慕圣2386694
def count():    fs = []    for i in range(1, 4):        def f(j):            def g():                return j*j            return g        r = f(i)        fs.append(r)    return fsf1, f2, f3 = count()print f1(), f2(), f3()这样改后

最新回答 / 慕仙8408915
如果想做web开发的话指路? https://www.cnblogs.com/1009gavin/p/9022913.html

最赞回答 / 写忆3789911
运行f1, f2, f3 = count() 得到的是三个没有运行的函数,直接print(f1, f2, f3)得到的是三个函数的地址。由于运行count()返回了三个函数(循环了三次),当然需要三个变量来接收(f1, f2, f3 = count() )。当然也可以这样l  = count()  ,打印方式 print(a[0](), a[1](), a[2]()),这也是可以的。详细代码如下:def count():    fs = []    for i in range(1, 4):       ...

已采纳回答 / Rocol
同学你使用的是Python3吧!在Python 3里,reduce()函数已经被从全局名字空间里移除了,它现在被放置在fucntools模块里。用的话要 先引入from functools import reduce   

最赞回答 / 云才哥
首先你的思路是没有问题的,math.sqrt(4)==float(2)这是成立的,但是你的程序有问题,因为程序的执行流程是依次从range(1,101)中取一个数作为is_sqr()函数的参数调用函数,而函数体每次都会执行循环体,也就是说都会从i==1开始执行,但当x==4时math.sqrt(x)==float(1)不成立即返回了false并结束调用函数,也就是说循环体只会执行i==1时这一句语句并不能起到循环体的作用。如果硬是要用这种思路建议改为i=int(math.sqrt(x))return ma...

最新回答 / 潇潇暮雨3678137
不要忽略map(),将列表中的每一个元素作为参数,在函数中调用并返回结果,产生新的列表。def name(s):    # return s.capitalize()     #capitalize() 首字母大写,其余全部小写    return s[0].upper()+s[1:].lower()   #此时的s是列表中每一个元素,是字符串,所以s[0].upper()+s[1:].lower() 是对单个字符串进行首字母大写,其他部分小写print(list(map(name,['adam', 'L...

最新回答 / 淡魂残月
确实python3会自动转换为浮点数,但是网站上默认工具的是python2.7

已采纳回答 / 慕仔2331887
第6行返回的是lazy_prod函数的结果,不是lazy_prod函数本身。所以第8行f接收的是一个数值而不是函数,到了第9行执行的时候其实是执行的一个数值,所以会报类型错误。

最赞回答 / 慕粉1625345616
__len__作为特殊方法,是可以通过对象调用:ss.__len__() 对象想调用len(),不一定要重写__len__方法我只是不明白,__len__方法中再调用了len函数,这个len函数是来自哪里的?外部调用的len函数进入了__len__方法,那为什么内部调用的len函数没有进入自身的__len__方法中,造成一个死循环

最赞回答 / 黑色礼帽
1.创建函数count() ,返回一个list2.调用count()的过程中有个for循环,for循环的内容是:创建函数f() ;调用函数f():tmp = f();并将结果tmp添加至列表fs:fs.append(tmp);3.count() 返回列表fs,即返回[1,4,9]4.赋值:f1 , f2 , f3 = count() ;即f1 , f2 , f3 = [1,4,9]

最新回答 / qq_龙_18
sorted 这个函数的默认参数名是key,希望对于你有帮助!哈哈……

最赞回答 / 黑色礼帽
函数参数的目的就是为函数体中的计算过程提供变量,外层函数已经提供有效变量;且lazy_sum()是calc_sum()的内层函数,程序调用calc_sum()的过程中,创建了lazy_sum(),没有既定参数。
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消