课程
/后端开发
/Python
/python进阶
r = f(*args, **kw) t2 = time.time() print 'call %s() in %fs' % (f.__name__, (t2 - t1)) return r
2016-08-26
源自:python进阶 2-12
正在回答
个人理解,*args是可变参数,如果你学过java的话其实是一样的,就相当于python里传了个list。
**kw是key word参数,就其实就是传了个dict对像。总结下,*args相当于list, **kw相当于dict.
*args代表的是任意参数,也就是可以是位置参数,可以是任意多个,也就是说def g(x,y,z....):这其中的x,y,z...就是任意参数;而**kw表示的是关键字参数,也就是def g(x=1,y=2,z=m.....)这里的x=1,y=2,z=m就是关键字参数,其实任意参数是用来收集参数的,返回一个元祖对象,而关键字参数用来返回一个字典对象。希望能帮到你。
那fn(*args, **kw)与f(*args, **kw)有什么区别呢?
可变参数,关键字参数
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号