У меня есть часть кода на питоне, которая вызывает динамически разные функции, где я всегда хочу передать 3 разных аргумента. Однако эти функции не всегда могут нуждаться в использовании этих трех разных аргументов. Вот очень простой код, который показывает проблему:
def test_keyword_args():
def fn1(a, b, c):
return a + b
def fn2(a, b, c):
return a + c
def fn3(a, b, c):
return b + c
obj = {
'a': fn1,
'b': fn2,
'c': fn3,
}
for key in obj:
value = obj[key](a=1, b=2, c=3)
if key == 'a':
assert value == 3
if key == 'b':
assert value == 4
if key == 'c':
assert value == 5
Как я могу всегда вызывать одну и ту же функцию obj[key](a=1,b=2,c=3)
, передавая аргументы этого ключевого слова, и избежать жалоб на неиспользуемые параметры? (c не используется в fn1, b не используется в fn2, a не используется в fn3)
Я могу представить, что подавление предупреждений поможет, но я не думаю, что это подходящее решение.
ПРИМЕЧАНИЕ
Я использую Python 3.7.3