|
|
发表于 2016-4-6 10:17:58
|
显示全部楼层
这个结果是挺尴尬的
我也在2.7 和3.4里面都试过了
只有记着答案了。。。。。
在2.7里面
1、def mFun(*param,base=3)---报错 SyntaxError: invalid syntax
2、def mFun(base=3,*param)
赋值:mFun(1,2,3) --- base=1,*param=(2,3)
mFun(base=1,2,3) --- SyntaxError: non-keyword arg after keyword arg
在3.4里面
可以这样定义
1、def mFun(base=3,*param)
赋值的时候是 mFun(1,2,3) --- base就等于了1,*param为(2,3)
不能是mFun(base=2,2,3)----报错 SyntaxError: positional argument follows keyword argument
2、def mFun(*param,base=3)
mFun(1,2,3) --- *param为(1,2,3) ,base为默认的3
mFun(1,2,3,base=5) ---*param为(1,2,3) ,base为5 |
|