Rozpakowywanie argumentów słów kluczowych, ale tylko te, które pasują do funkcji
Powiedzmy, że mam funkcję:
def foo(a=None, b=None, c=None):
return "a:%s, b:%s, c:%s" % (a, b, c)
Mam słownik z niektórymi (lub żadnymi) argumentami powyżej, ale także z kluczami, które nie są nazwane argumentami w funkcji, np .:
d = {'a': 1, 'x': 4, 'b': 2, 'y': 5}
Jeśli zadzwonię do następującego, otrzymam błąd, ponieważ „x” i „y” nie są argumentami słów kluczowych w funkcji foo.
foo(**d) # error
Czy istnieje elegancki sposób przekazywania argumentów ze słownika do funkcji, ale tylko te wartości z kluczami, które pasują do argumentów funkcji.
Popraw mnie, jeśli moja argumentacja / terminologia parametru jest wyłączona.