Python:当参数不是选项时,如何传递参数?

2024-05-26 18:07:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个函数func\u main,它有几个输入。其中一个输入是另一个函数-func\u mini。较小的函数func\u mini加载一些数据,它需要能够根据传递给它的参数从不同的源加载数据。问题是我正在阅读有关func\u main的文档,它说它只接受无参数函数。我怎么才能避开这个

例如:

def func_main(evaluator = None):

    num_list = [1,2,3]
    return evaluator(num_list)  



def func_mini(data_source = None):

    if not data_source:
        data_source = config.DATA_SOURCE

    return pandas.read_csv(data_source).min

我想这样做:

func_main(func_mini(data_souce='path/to/my/file'))

但是funcèu的主要文件说:

“evaluator:一个无参数函数,定义并返回上述模型定义中所需的所有数据。”


Tags: 数据函数nonesourcedata参数return定义
1条回答
网友
1楼 · 发布于 2024-05-26 18:07:52

您可以使用functools.partial来构建一个没有原始func_mini函数参数的函数。演示:

>>> from functools import partial
>>> def foo(x):
...     print(x)
... 
>>> foo_argless = partial(foo, 'hi')
>>> foo_argless()
hi

相关问题 更多 >

    热门问题