partialと一緒に使用すると、python3の機能が少し難しいです。他のinfoはキーワードのみの引数です。ここでpython3の関数で '*' "キーワードのみ"引数表記
は私のコードです:ここでは
def awesome_function(a = 0, b = 0, *, prefix):
print('a ->', a)
print('b ->', b)
print('prefix ->', prefix)
return prefix + str(a+b)
は部分の私の理解です:
>>> two_pow = partial(pow, 2)
>>> two_pow(5)
32
>>>
私は何を理解することは、上記の例であり、partial
としてのみpow
関数に二番目の引数になります引数はtwo_pow
です。
私の質問は、なぜない次の仕事である:
>>> g = partial(awesome_function, prefix='$')
>>> g(3, 5)
a -> 3
b -> 5
prefix -> $
'$8'
>>>
しかし、私はこの中にエラーが発生します。
>>> awesome_function(prefix='$', 3, 5)
File "<stdin>", line 1
SyntaxError: non-keyword arg after keyword arg
>>>
私は
>>> awesome_function(prefix='$', a = 3, b = 5)
a -> 3
b -> 5
prefix -> $
'$8'
>>>