课程
/后端开发
/Python
/python进阶
参考代码里,有几个地方不懂,求教 1:f(*args, **kw)是什么意思,也没有定义以f命名的函数,为什么可以这样“ 2:还有一个是f.__name__ 为什么可以这么用?
2016-01-21
源自:python进阶 2-12
正在回答
f(*args, **kw)是因为传入了2个以上的参数,统一这样表示 ,f.__name__这个是魔术变量,表示函数名
import time def performance(f): def fn(*args, **kw): t1 = time.time() r = f(*args, **kw) t2 = time.time() print 'call %s() in %fs' % (f.__name__, (t2 - t1)) return r return fn @performance def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10)
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计