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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
def count():
fs = []
for i in range(1, 4):
fs.append(lambda x=i: x*x)
return fs

f1, f2, f3 = count()
print f1(), f2(), f3()

感觉你们的代码好渣,多了解点lambda吧,打包循环变量
def performance(unit):
def func(f):
def was(*args,**kw):
print('call %s() %s'%(f.__name__,unit))
return f(*args,**kw)
return was
return func
def gcd(x, y):
if x < y:
x, y = y, x
while y:
x, y = y, x % y
return x
class Rational(object):
def __init__(self, p, q):
g = gcd(p, q)
self.p, self.q = p / g, q / g
def __str__(self):
return '%d/%d' % (self.p, self.q)
其他一样
难道不是这么写吗 报错
def __cmp__(self, s):
if self.score < s.score:
return -1
elif self.score > s.score:
return 1
else:
return 0

最赞回答 / 灬益达灬
一样 但是你前面必须要计算一次f()  结尾return f(*args,**kw)又重新计算了一遍 没必要
filter(lambda x : x if x and len(x.strip()) >0 ,list1 ) 这个错在哪里
json的load()方法需要调用第一个参数的read()方法(我只列了第一个参数,load后面可附带很多参数,有兴趣的请去看json库的源码),json.load()的源码如下:
def load(fp):
return loads(fp.read())
也就是说使用json.load()时引入的参数必须包含一个read()方法,否则返回时会报错。“任何对象,只要有read()方法,就称为File-like Object,都可以传给json.load()”,所以……你自己写的类至少要有个read(),才可以传给json.load()用。不懂的人请看下源码或者多读几遍任务描述
感觉就是这样 f(g) , x = f() , x() = f()() 等价于 x()=g(), 请懂的大哥指点下。。
list3 = ['adam','LISA','barT']
'''
def format_name(s):
return s.capitalize()

print map(format_name,list3)
'''
print [name.capitalize() for name in list3]
使用列表推导式: list1 = [1,2,3,4,5,6,7,8,9] [x*x for x in list1]
def add(x, y, f):
return f(x) + f(y)

def gen(num):
return num**0.5

print add(25, 9, gen)
鈤嘛跳跃性太大了。
def prod(x, y):
return x*y

print reduce(prod, [2, 4, 5, 7, 12])
def format_name(s):
return (s.lower()).title()

print map(format_name, ['adam', 'LISA', 'barT'])
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消