在 Python 中进行一些元编程,我必须动态创建一个函数。我的问题是直到生成代码才确定参数的数量。所以不同的生成函数会有不同名称的不同参数。但是当函数生成时,所有信息都可用,我不想使用**args
!这是一个例子:
# information collected by my codgen process
arg_names = ['param_a','param_b','param_c']
some_callable = ClassDeterminedWhileGeneratingCode
我想要生成的是一个像这样的函数,它将被添加到一个类中:
def my_fkt(self,param_a,param_b,param_c):
instance = some_callable(param_a=param_a,param_b=param_b,param_c=param_c)
self.do_something(instance)
return instance.generate_result()
我非常习惯于使用高阶函数生成函数,但是如果参数的数量不固定,那将无济于事。我很确定,我在某处见过使用type.FunctionType
. 但我找不到任何关于此的文档。