On 19/07/14 11:52, Jerry lu wrote:
Ok so i am trying to learn this and i do not understand some of it. I also 
tried to searched the web but i couldnt find any answers.

1. I dont understand when i will need to use a function that returns another 
function.
eg
                    def outer():
                          def inner():
                                x = 5
                           return inner
why not just use inner and forget about the whole outer function?
function compositing is one possible use. Functions are first class objects so they can be passed as arguments to other functions. in math you can define function composition f(x) * g(x) by saying that (f * g )(x) = f(g(x)). so composition of two functions gives you a new function with behaviour the same as applying fist function to the output of the second.

ex.
you are give two functions f and g to construct their composition:

>>> def outer(f, g):
...     def inner(x):
...         return f(g(x))
...     return inner
...
>>> def f(x):
...     print("f ({}) called".format(x))
...     return x
...
>>> def g(x):
...     print("g ({}) called".format(x))
...     return x
...
>>> h = outer(f, g)
>>> h("test")
g (test) called
f (test) called
'test'
2. This is more yes or no question when you pass in a func into another func as 
a parameter do you need to specify the parameter that the func is being passed 
into as func?
eg
                       def passinto(func)
                             pass
def param():
                              x = 5
p = passinto(param)

also is this above statement correct?????

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to