私は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関数の位置引数の前に使用することをお勧めしますか?