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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
......脑子太笨了,这一章一直看不懂。看不下去了,实在理解不了
import os

print(os.path.isdir(r'/data/webroot/resource/python'))
print (os.path.isfile(r'/data/webroot/resource/python/test.txt'))
def calc_prod(lst):
def lazy_prod():
def f(x,y):
return x*y
return reduce(f,lst)
return lazy_prod

f = calc_prod([1, 2, 3, 4])
print f()
def prod(x, y):
return x*y
print reduce(prod, [2, 4, 5, 7, 12])
def format_name(s):
return s.title()

print map(format_name, ['adam', 'LISA', 'barT'])
想了一会想明白了
我错误的理解使用for 循环了,把单词都拆开了
print sorted(L, key=lambda s:[-s.score, s.name])
这里计算的时间差,其实是在高阶函数里的时间差。
1. 调用装饰器
2. 进入装饰器,调用高阶函数
3. 计时t1,执行常规函数,计时t2,执行print命令,返回常规函数
4. 调用常规函数

对于我来说,难点在于r = f(*args, **kw)这一步
def count():
fs = []
for i in range(1, 4):
def f(j=i):
return j*j
fs.append(f)
return fs

f1, f2, f3 = count()
print f1(), f2(), f3()
闭包不是很明白,记录一下,以后再回来看
return int(math.sqrt(x))**2==x
def performance(unit):
def per(f):
def fn(*args, **kw):
t1 = datetime.datetime.now()
res = f(*args, **kw)
t2 = datetime.datetime.now()
t = (t2 - t1).total_seconds()
t = t * 1000 if (unit == 'ms') else t
print('call %s() in %f' % (f.__name__, t))
return res
return fn
return per
print(sorted(['bob', 'about', 'Zoo', 'Credit'], key=lambda x: x.lower()))
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消