[python] 関数の仮引数の指定に変数を使う
レアケースだと思いますが、以下のようなケースです。
1 2 3 4 5 |
def some_func(key_a,key_b): print(key_a) print(key_b) |
という関数があって、
1 2 3 |
some_func(var_1=10,var_2=20) |
のように呼び出したい場合です。
仮引数のキーを指定して通常関数の呼び出すには、
1 2 3 |
some_func(key_a=10, key_b=20) |
というふうに仮引数のkeyの名称を指定して呼び出しますが、この、key_a と key_b の指定を変数にしたい場合です。
以下のようにします。
1 2 3 4 5 |
keyname_a = "key_a" keyname_b = "key_b" some_func(**{keyname_a : 10, keyname_b : 20}) |
結果は、
1 2 3 4 |
10 20 |
で、
1 2 3 |
some_func(key_a=10, key_b=20) |
と同じ結果になります。