質問

言っては、以下のいずれかの方法が

def methodA(arg, **kwargs):
    pass

def methodB(arg, *args, **kwargs):
    pass

にmethodAいコmethodB流のkwargs.しかし、この場合に定義しま methodA 次のとおり、第二引数に渡されてい位置ではなく名前の変数の引数になります。

def methodA(arg, **kwargs):
    methodB("argvalue", kwargs)

くの、めんどくさいんだよなーさ**kwargsにmethodAが渡された場合、次のようになります*kwargsにmethodB?

役に立ちましたか?

解決

けの"*"前kwargs可変となります。このPythonの変数であると仮定する辞書としてキーワード引数になります。

methodB("argvalue", **kwargs)

他のヒント

ちなみに:の機能を利用する場合には代わりの方法でも使用functools.部分:

import functools

def foo(arg, **kwargs):
    ...

bar = functools.partial(foo, "argvalue")

最後のライン関数を定義する"バー"と呼び出された場合、通fooとの最初の引数に設定"argvalue"その他の機能でしかできない。

bar(5, myarg="value")

foo("argvalue", 5, myarg="value")

残念なことでは動作しません。

一部の実験は、きっかけになるかもしれないとこの:

def methodA(arg,**kwargs):methodB("argvalue",**kwargs)

そうなっていま---

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top