python - 在运行时创建一个函数,该函数在 python 中具有特定数量的参数
问题描述
是否可以在运行时创建具有固定数量参数的函数?
我需要创建一个由两个函数组成的函数,以便获得
f_new(x,a,b,c,d,e) = f_1(x,a,b) + f_2(x,c,d,e)
两个任意函数f_1
和f_2
. 使用类似的方法
from inspect import signature
def combine(f_1,f_2):
arg_len_1 = len(signature(f_1).parameters) - 1
arg_len_2 = len(signature(f_2).parameters) - 1
def combined(x,*args):
return f_1(x,args[:arg_len_1]) + f_2(x,args[arg_len_1:arg_len_2])
return combined
对我不起作用,因为您不能两次应用它,因为在此过程中参数的数量会丢失。
有没有什么方法可以在不使用的情况下在 python 中实现这一点,eval()
或者这是唯一的选择?
解决方案
推荐阅读
- r - 如何将循环中的值存储在 R 的数据框中?
- c# - 为什么我必须使用动态输入参数对强类型函数进行类型转换?
- php - 使用两个表(如打击图像)获取数据
- bash - 使用 osascript 打开更新版本的 bash
- apache-spark - 如何检查 Spark 数据帧结构数组是否包含特定值
- websocket - 在 win 10 上使用 websockets(paho 客户端)的蚊子 ERR_CONNECTION_REFUSED
- xcode - 操作在 performClick(nil) 上执行两次
- azure - 按顺序运行管道的设置 - Azure Devops
- python - 从连接中填充数据框 nan 值
- ide - 将启动器目录添加到 PATH