Как правильно передавать параметры во вложенную функцию
Нужно передать параметры во вложенную функцию. Я написал функцию, которая запускает другую вложенную функцию, в зависимости от ситуации.
def foo(c):
return(a+b+c)
def bar(c):
return(b*c)
a=5
b=5
def result(d, func):
return(func(d))
print(result(6, bar))
print(result(10, foo))
Но интуитивно понимаю, что делаю как-то неправильно. Как можно преобразовать данный код, чтобы вынести переменные а и b в параметры вложенных функций что-то типа:
def foo(a,b,c):
return(a+b+c)
ну и дальше при запуске основной функции вот как-то так запускалось
result(10, foo(5,6, с))
но чтобы первые пераметры приходили с вложенной функцией, ибо они связаны с ней и каждый раз выполнять переприсваивание немного затруднительно, ибо они тоже берутся с других функций и возникает плохая читаемость кода, когда переменная а (и/или) b постоянно изменяется, а последний аргумент для вложенной функции брался уже во время выполнения основной функции, потому что он постоянно одинаковый для любой запускаемой функции, внутри этой функции.
также я пробовал передавать параметры по другому:
def foo(a,b,c):
return(a+b+c)
def result(a,b,c,func):
return(func(a,b,c))
print(result(5,6,7, foo))
Но ведь у меня есть еще вторая возможная функция bar , которая тоже может запускаться и там другое количество параметров. А если будет еще третья функция или четвертая где будет еще больше параметров.
То есть, нужно добиться какой-то большей абстрактности при выполнении кода.
Очень надеюсь, что мое спутанное и косноязычное объяснение будет понято. Программирую неделю, пару лет назад решал несколько задач на php теперь вот понадобилось на пайтоне.