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