5

関数がある場合:

def add(**kwargs):
    for key, value in kwargs.iteritems():
        print "%s = %s" % (key, value)

この関数にキーワード引数を動的に追加するにはどうすればよいですか? Python で HTML ジェネレーターを作成しているので、ユーザーが有効にしたい属性に応じてキーワード引数を追加できる必要があります。

たとえば、ユーザーがフォームでname属性を使用したい場合、格納されたキーワード引数のリストでそれを宣言できる必要があります (これを行う方法もわかりません)。この格納されたキーワード引数のリストには、変数の値も含まれている必要があります。たとえば、ユーザーが属性を「Hello」にしたい場合は、次のようにして関数に渡す必要があります。

name = "Hello" (example)

さらに情報が必要な場合はお知らせください。ありがとう!

4

1 に答える 1

16

キーワードの動的リストは既に受け入れています。これらのキーワードを使用して関数を呼び出すだけです。

add(name="Hello")

**expression呼び出し構文を使用して、代わりに辞書を関数に渡すことができます。キーワード引数に展開されます (**kwargs関数パラメーターが再びキャプチャします)。

attributes = {'name': 'Hello'}
add(**attributes)
于 2013-08-05T10:38:23.880 に答える