Say I have a two dimensional function f(x,y) and another function G(function) that takes a function as an input. BUT, G only takes one dimensional functions as input and I\
What you are looking for is called a closure.
def make_h(c): def h(x): return f(x, c) return h
Now if you assign h = make_h(c), then h(x) equals f(x, c), and you can pass your h to G.
h = make_h(c)
h(x)
f(x, c)
If you wish, the functools library has support for closures (functools.partial)
functools