是否可以将带有参数的函数传递给Python中的另一个函数?
比如说:
def perform(function):
return function()
Run Code Online (Sandbox Code Playgroud)
但要传递的函数将具有如下参数:
action1()
action2(p)
action3(p,r)
Run Code Online (Sandbox Code Playgroud) 我试图用Ruby搞得一团糟.因此,我尝试从"Programming Collective Intelligence"Ruby书中实现算法(在Python中给出).
在第8章中,作者将方法a作为参数传递.这似乎适用于Python,但不适用于Ruby.
我有这个方法
def gaussian(dist, sigma=10.0)
foo
end
Run Code Online (Sandbox Code Playgroud)
并希望用另一种方法调用它
def weightedknn(data, vec1, k = 5, weightf = gaussian)
foo
weight = weightf(dist)
foo
end
Run Code Online (Sandbox Code Playgroud)
我得到的只是一个错误
ArgumentError: wrong number of arguments (0 for 1)
Run Code Online (Sandbox Code Playgroud)