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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
def performance(unit):
def decorator(f):
def wrapper(*args, **kw):
print 'call ' + f.__name__ + '()'
return f(*args, **kw)
return wrapper
return decorator
让人看懂~
def calc_prod(lst):
def w():
s = lst[0]
for num in lst:
s = s * num
return s/lst[0]
return w

f = calc_prod([1, 2, 3, 4])
print f()
import time

def performance(f):
def fn(*args, **kw):
print 'call ' + f.__name__ + '() in' + str(time.time())
return f(*args, **kw)
return fn

@performance
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))

print factorial(10)
def count():
fs = []
for i in range(1, 4):
def f():
x = i * i
return lambda:x
fs.append(f())
return fs

f1, f2, f3 = count()
print f1(), f2(), f3()
def calc_prod(lst):
def calc_prod2():
return reduce(lambda x, y: x * y, lst)

return calc_prod2


f = calc_prod([1, 2, 3, 4])
print f()
谢谢老师!!
class Person(object):
count = 0
def __init__(self,name):
self.name = name
Person.count += 1

p1 = Person('Bob')
print Person.count,

p2 = Person('Alice')
print Person.count,

p3 = Person('Tim')
print Person.count
python编写起来很随意,但讲真,可读性可能不是很好,没有一些规矩,统一性就下降了
我感觉带参数的装饰器,就是多加了一层返回函数,并且闭包。和前面理解起来都一样。然后答案自己也写出来了
def performance(unit):
def decorator(func):
def wrapper(*arg, **kw):
print "call"+func.__name__+"()"+str(time.time())+"%s" %unit
return func(*arg, **kw)
return wrapper
return decorator
import time
ISOTIMEFORMAT = '%Y-%m-%d %X'#time
def performance(f):
def inner(x):
print 'call',f.__name__+'()','in',time.strftime(ISOTIMEFORMAT,time.localtime())
return f(x)
return inner
可以去廖老师的网站看一看,那里讲得更详细。
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431865288798deef438d865e4c2985acff7e9fad15e3000#0
def count():
fs = []
for i in range(1, 4):
def f(j):
def g():
return j*j
return g
fs.append(f(i))
return fs

f1, f2, f3 = count()
print f1(), f2(), f3()
有点难哈,嘤嘤嘤
print L2[0].name,
print L2[1].name,
print L2[2].name
print后面要加逗号
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消