我正在学习在 python 中使用位置参数,并尝试了解它们在与默认参数混合时如何工作:-
def withPositionalArgs(ae=9,*args):
print 'ae= ', ae
print 'args = ', args
a=1
b=2
c=[10,20]
withPositionalArgs(a,b,c)
这给了我输出:
ae= 1
args = (2, [10, 20])
如您所见,a
被认为是为 传递的值ae
,并且b
被c
认为是位置参数。
所以,我现在试图10
在ae
调用时分配withPositionalArgs
:
withPositionalArgs(ae=10,b,c)
但是,我做不到。我得到错误:
SyntaxError: non-keyword arg after keyword arg
我的问题是:
我做得对吗?在 python 函数中的位置参数之前是否允许使用默认参数或使用的好习惯?