gpt4 book ai didi

python - 根据 python 中具有多个参数的现有函数中的一个自由参数创建一个可调用函数

转载 作者:太空狗 更新时间:2023-10-30 02:35:49 25 4
gpt4 key购买 nike

下面是matlab中的一段代码:

costFunc = @(p) nnCostFunction(p, input_layer_size, hidden_layer_size, ...
num_labels, X, y, lmbd);

它接受函数 nnCostFunction,给它除 p 之外的所有参数,并将它变成一个依赖于 p 的可调用对象。

即你可以调用完整的函数:

result = nnCostFunction(p, input_layer_size, hidden_layer_size,num_labels, X, y, lmbd)

或者调用新函数:

result = costFunction(p)

有什么方法可以在 Python 中制作类似的东西吗?

最佳答案

您可以使用 functools.partial :

from functools import partial

costFunc = partial(nnCostFunction, input_layer_size, hidden_layer_size, ...
num_labels, X, y, lmbd)

然后用 p 调用它:

costFunc(p)

但是请注意,p 将作为最后一个参数传递,如果您希望它成为第一个(或中间的某个地方),您应该将它包装在另一个函数中:

def costFunc(p):
return nnCostFunction(p, input_layer_size, hidden_layer_size, ...
num_labels, X, y, lmbd)

关于python - 根据 python 中具有多个参数的现有函数中的一个自由参数创建一个可调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57886480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com