课程
/后端开发
/Python
/初识Python
# OK:def fn1(a, b=1, c=2): pass
# Error:def fn2(a=1, b): pass
2018-02-12
源自:初识Python 7-6
正在回答
fn函数的意思就是说接受传入的数据。
如果只传入一个如:fn(1)那么就使的a=1,b=1,c=2。
如果传入多个如:fn(1,10,9)那么就是a=1,b=10,c=9。
而这种定义函数的方式中,默认数据必须写在定义数据的后面,所以第2种写法应该是fn2(b,a=1),其中a是默认数据,写在了b这个定义数据的后面
heinz9913 提问者
(直接引用别人的解释)由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面:
上面那句话的中 所谓 必须参数 的意思就是 fn1中的a, fn2 中的b.
而默认参数 就是fn1 中的 b=1, c=2 , fn2 中的 a=1.
解释的很清楚了,所以fn2函数参数定义顺序错误!
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序