Предположим, у меня есть какая-то функция, f
:
def f (a=None):
print a
Теперь, если у меня есть словарь, такой как dct = {"a":"Foo"}
, я могу вызвать f(**dct)
и получить результат Foo
.
Однако предположим, что у меня есть словарь dct2 = {"a":"Foo", "b":"Bar"}
. Если я позвоню f(**dct2)
я получу
TypeError: f() got an unexpected keyword argument 'b'
Справедливо. Однако в любом случае, в определении f
или при вызове его, Python должен просто игнорировать любые ключи, которые не являются именами параметров? Предпочтителен метод, который позволяет указывать значения по умолчанию.