Python: можно ли определить функцию внутри списка аргументов другой функции? - PullRequest
0 голосов
/ 10 октября 2011

Есть ли способ достичь чего-то подобного в python?

another_function( function(x) {return 2*x} )

Ответы [ 2 ]

9 голосов
/ 10 октября 2011

Да:

another_function( lambda x: 2*x )

Для ясности: это происходит при вызове another_function, а не при его определении.

0 голосов
/ 10 октября 2011
def another_function( function=lambda x: 2*x ):
    print(function(10))  #an example

Я не уверен, что произойдет с примером кода, который вы разместили, но с решением, показанным, если вы позвоните another_function, он вызовет function(10) и напечатает 20.

Ещеточка, вы не можете вызвать another_function(7) и получить 14, потому что 7 будет присвоено function и 7(10)' will get you TypeError: 'int' объект не может быть вызван`.

...