我有一个例子,其中一个class A
有一个名为foo1()
的函数,我需要对它的当前流进行一些修改,有时在相关的时候
我想从文件中导入这个类,使foo能够获得两个函数指针作为可选参数,这些参数将决定我们是否要执行不同的附加流
例如,使foo的原始参数(...
)与新函数指针foo(...,func_pointer1 = None,func_pointer2=None)
一样长
只是想澄清一下,func\u pointer1在流的任何情况下都会保存一个要启动的函数,func\u pointer2的设计是在流的末尾添加更多的代码来处理
我认为这种传递两个函数指针的方法并不常见,我还需要传递每个函数**kwargs参数。 有人知道这听起来是否合适,或者你有更合理的解决方案吗
你所说的“函数指针”实际上只是python中的函数。函数和其他任何东西一样都是对象,所以您也可以随意传递它们。在标准库中,它用于
max(key=function)
或functools中的partial
。所以你做的完全没问题如果不想显式传递*args和**kwargs,可以使用lambda或partial
也许您可以将带有参数的函数作为两个列表传递给另一个函数,然后告诉下一个函数如何管理这些列表
我不得不做类似的事情,我做到了:
相关问题 更多 >
编程相关推荐