On 7/11/19 14:36, Stephen Waldron wrote:
> Hi, I'm new to the group and to Python, so forgive me if I make any faux-pas 
> here. As I can tell, the only way to pass a function as an argument is to 
> reference its name as follows:
>
> def foo1(message):
>     print(message)
>
> def foo2(foo, message):
>     print("Your function says:")
>     foo(message)

No that is not true. "map" is a function that takes a function as its
first argument. But I can do the following if I want to produce the
inverses of a list of numbers.

    from operator import truediv
    from functools import partial

    ls = range(1, 11)

    for x in map(partial(truediv, 1), ls):
        print(x)

In the code above "partial(truediv, 1)" will produce a function that
will inverse its argument and I don't need to give this function a name
to pass it as an argument in an other function.

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

Reply via email to