Skip to main content
 首页 » 编程设计

Python:当它不是一个选项时如何传递参数

2025年05月04日17cmt

我有一个函数 - func_main - 它有几个输入。其中一个输入是另一个函数 - func_mini。较小的函数 func_mini 加载一些数据,它需要能够根据传递给它的参数从不同的源加载数据。问题是我正在阅读有关 func_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_main 文档说:

“评估器:定义并返回上述模型定义中所需的所有数据的无参数函数。”

请您参考如下方法:

您可以使用 functools.partial 从原始 func_mini 函数构建一个不带参数的函数。演示:

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