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

python进阶

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

最赞回答 / 慕函数6407041
实现了CALL方法,类对象才能变成函数才能调用其他参数f(10)

已采纳回答 / 慕勒5751721
首先,f1 = new_fn(f1) 得到的f1只是一个变量而已,而且返回的是fn也只是也只是一个变量,应该说f1变量接收了new_fn(f)函数返回的fn变量!而不是fn(x)函数,并且,原本的f1(x)的定义还在那里,并没有改变f1(x)的定义啊。关键是要区分f1和f1(x)代表的是什么。当用这个函数变量时 print f1(5),此时的函数完全就不是def 定义的函数,只不过名字一样而已

已采纳回答 / 不止_不息
你的理解是对的,fs.append(f()),f函数已经进行了调用,它的结果添加进了列表,fs中并不是函数的列表,而是值的列表

最赞回答 / 慕粉4389416
如果p1是一个类的实例对象,那么get_grade()就是他的实例方法,且正在调用

已采纳回答 / 慕工程4835570
第一个问题:因为每次返回不立即计算出结果,而在调用的时候才进行计算。第二个问题:fs列表中存储的是若干函数,肯定是返回fs

最赞回答 / __没有人
这个问题问得好,因为你的代码只有?,还是说,是被和谐了(´▽`ʃƪ)

最赞回答 / qq_旭旭乐_03758732
__str__返回的必须是string类型,return 的时候调用str函数就行了,比如:return str(lst)return str([0,1])return str([0])

最新回答 / 你们还真信
count()里返回的是函数,即上面通过fs.append()添加到list里的函数f(),但是函数f()也引用了i*i,并没有对i的值进行计算赋到f()里,只有最后print的时候才进行计算,这时i经过for循环已经=3,所以print的计算里都是以i=3来计算

最赞回答 / MISS_time
f.__name__是获取函数名,'DEBUG'是str,我学到这里也开始慌 了,是这节的教程出错了?

已采纳回答 / 慕侠3286461
循环 n 次 数列"L"每次加一个数"a" (通过  L.append(a)  添加 而非l.append()) 第一次a = 0 b=1 第二次 a= b = 1 b = a+b = 2 以此类推 n次之后 数列"L"中添加了 n个数。之后将L赋值给self.number。变量self.number的数据类型是数列

最新回答 / qq_文明礼貌好青_0
cmp函数返回的是1 -1 和0 ,每隔符号代表着两个的比较排序结果 加上符号代表两个位置调换

最赞回答 / qq_北冥之雪_0
__str__是绑定print的,print 时会自动调用__str__,所以在__str__中直接return 返回值就可以了

最新回答 / whenever
函数 inner_func 是闭包name是自由变量
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消