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

求解,这是什么意思

# OK:def fn1(a, b=1, c=2):
   pass

# Error:def fn2(a=1, b):
   pass

正在回答

2 回答

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这个定义数据的后面

1 回复 有任何疑惑可以回复我~
#1

heinz9913 提问者

非常感谢!
2018-02-12 回复 有任何疑惑可以回复我~

(直接引用别人的解释)由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面:

上面那句话的中 所谓 必须参数 的意思就是 fn1中的a, fn2 中的b. 

而默认参数 就是fn1 中的 b=1, c=2 , fn2 中的 a=1.

解释的很清楚了,所以fn2函数参数定义顺序错误!


0 回复 有任何疑惑可以回复我~
#1

heinz9913 提问者

多谢多谢
2018-02-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

求解,这是什么意思

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信