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

python进阶

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

最赞回答 / 昵称2_18位中英文
返回装饰过的原程序啊原程序像一辆白色的车f(x),装饰器像一个修理厂log(),把车开进去就是log(f),可以有多种装饰如喷漆fn(x)换轮胎fm(x),我们选择喷漆return fn,所以进入到fn(x)的流程中,走完这个流程后喷好了,把新车开出来f(x)这里面不带括号的fn是指针,指向函数fn()所在的内存地址。带括号的fn(x) f(x) log(f)是具体的函数。

已采纳回答 / 稻草人wen
你得fs里面保存的是三个普通变量,不是函数名变量,所以应该按下面的写法。<...code...>
我来解释一下,理解了好久
就是说fs定义了一个list,但是底下的append步骤只是加入函数所以返回的fs里面就是fs=[f,f,f],当f函数计算时i已经为3,所以结果都是9
不用标准答案稍稍改一下代码
def count():
fs = []
for i in range(1, 4):
def f():
return i*i
fs.append(f())
return fs

d = count()
print d[0]
print d[1]
print d[2]
这次我是直接返回值,就会好啦
print filter(lambda s:s and len(s.strip())&gt;0,[&#039;test&#039;, None, &#039;&#039;, &#039;str&#039;, &#039; &#039;, &#039;END&#039;])
啊啊啊开始有难度了

最赞回答 / 废柴001
我认为cmp拓展开是制作一个条件语句,cmp函数默认是从小到大排列,-cmp则是相反的
def calc_prod(L):
def last():
cal=1
for x in L:
cal = cal * x
print cal
return last
ls=[1,2,3,4]
now = calc_prod(ls)
now()

最新回答 / 冬青ilex
请贴一下代码
只改写count函数,以 f1(), f2(), f3()输出的方法:

global i
i=0
def count():
fs = []
def f():
global i
i+=1
return i*i
for cnt in range(3):
fs.append(f)
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
可以使用切片来切首字母
def __str__(self):
#if self.q == 1:
#return &#039;%s&#039; % (self.p)
return &#039;%s/%s&#039; % (self.p, self.q)

已采纳回答 / qq_Bestinme_0
是加了个__score吧,那个相当于私有属性了,外部访问不了,只能通过内部实例方法调用,如果直接写self.score那就相当于score的类型是public公共类型了,外部可以直接访问
类属性直接在class下一行,函数def上一行建立,同时用等号赋值
由于创建实例必定会调用__init__()方法,所以在这里修改类属性count很合适
本题按参考代码通不过,需要引入try: except:
注意,这两个函数,都需要在句首
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消