3

プロジェクトにモジュールを使用しています。関数をモジュールに渡す必要があり、モデルは次のようなことを行います。

class module:
   def __init__(self, function, dictionary):
       # dictionary is {'x':2, 'y':4, 'z':23}
       function(**dictionary)

そして私の機能は次のようなものです:

def function(*foo):
    return sum(foo)

問題は、モジュールには名前付き変数が必要であり、それをアンパックされた辞書のように関数に渡し、要素の数をdictionary変数にすることができるため、関数を として事前に記述できずdef function(x,y,z): return sum(x,y,z)、エラーが発生することです。モジュールを変更したくありません。コードが普遍的でなくなるからです。コードを変更するだけでこの問題を解決するにはどうすればよいですか?

編集:foo関数で使用するリストとして必要です

4

4 に答える 4