So I know that you can wrap a function around another function by doing the following.
def foo(a=4,b=3):
return a+b
def bar(func,args):
return func(*args)
so if I then called
bar(foo,[2,3])
the return value would be 5.
I am wondering is there a way to use bar to call foo with foo(b=12) where bar would return 16?
Does this make sense? Thank you so much for your time ahead of time! And sorry for asking so many questions.
This requires the
**kwargs(keyword arguments) syntax.Where
*argsis any number of positional arguments,**kwargsis all the named arguments that were passed in.And of course, they are only
*argsand**kwargsby convention; you could name them*pandaand**grilled_cheesefor all Python cares.