web-dev-qa-db-ja.com

追加のパラメータを使用してpythonでgetattr関数を起動する方法は?

Getattr関数を使用してパラメーターを追加し、不明な関数を呼び出したい。出来ますか?

30
megido

はい。ただし、それらをgetattr()に渡さないでください。関数への参照を取得したら、通常どおり関数を呼び出します。

getattr(obj, 'func')('foo', 'bar', 42)

引数/キーワード引数の動的リストを使用して動的メソッドを呼び出す場合は、次の操作を実行できます。

function_name = 'wibble'
args = ['flip', 'do']
kwargs = {'foo':'bar'}

getattr(obj, function_name)(*args, **kwargs)
35
Steve Mayne