码迷,mamicode.com
首页 > 其他好文 > 详细

有默认参数的函数,默认参数为何需后置

时间:2015-09-16 19:49:53      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

学习python时思考的一个问题。

http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431752945034eb82ac80a3e64b9bb4929b16eeed1eb9000

默认参数可以省略用户输入。

当存在多个默认参数时,如果默认参数在前:如foo(a=1,b=2,c=3,x)

调用:foo(5)

当只有一个实参传入,编译器不知道是改变默认参数值,还是给x。

但也许调用者(程序猿)自然地认为是传给唯一没有默认参数的x,这样的话编译器需要判断foo共有几个默认参数,一一跳过这些参数,再传给x。

如果默认参数后置,如foo(x,a=1,b=2,c=3)

调用:foo(5)

编译器自然会读到第一个没有默认参数的x,赋值给它。

也就是说,原因是编译器是从左向右遍历的。

 

有默认参数的函数,默认参数为何需后置

标签:

原文地址:http://www.cnblogs.com/ketchups-notes/p/4813902.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!