にデフォルトパラメータを渡す私は機能ネストされた関数のpython
foo(x, setting1=def1, settings2=def2)
(実際にはこれは私が唯一の1外部から設定する必要があるのデフォルトパラメータの束を持つサードパーティのライブラリ関数ですが、ためにを持っています例の...)
私は
bar(y, settings2_in=def2)
x = get_x(y)
foo(x, settings2=settings2_in)
これはokですからこれを呼び出していますが、文体私はむしろ、パラメータに名前を呼びたいsettings2_in
settings2
。私が別のレイヤーを下に通し続けると、パラメータの名前を変更しなければならず、醜い状態になります。
bletch(z, settings2_in_2=def2)
y = get_y(z)
bar(y, settings2_in=settings_in_2)
デフォルトパラメータのサブセットをこのように多くのレイヤーに渡すための「素晴らしい」/ Pythonの方法はありますか?
は私がしなければことを働かせてくれPythonのです:
bar(y, settings2=def2)
x = get_x(y)
foo(x, settings2=settings2)
settings2
の2つの用途は、文脈から異なっていること?
ちょうど 'bar(y、** kwargs)'と 'foo(x、** kwargs)'だと思います。 –
** kwargsはうまくやっているようです。ありがとう! –