Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将变量传递给烧杯中的createfunc_Python_Parameters_Closures_Beaker - Fatal编程技术网

Python 如何将变量传递给烧杯中的createfunc

Python 如何将变量传递给烧杯中的createfunc,python,parameters,closures,beaker,Python,Parameters,Closures,Beaker,在烧杯文档中,他们讨论了不直接在createfunc调用中传递参数,而是使用闭包 创建函数不能接受任何参数,因为它不会用任何参数调用。通过在创建函数上使用闭包作用域,可以传入影响创建值的选项: 我可以在闭包中找到的所有示例和文档都指向一个嵌套函数调用,该函数调用首先接受一个变量。在这种情况下,我不理解如何编写闭包,因为它不是一个函数,而是一个键值变量 results = tmpl_cache.get(key=search_param, createfunc=get_results) 如何将变量

在烧杯文档中,他们讨论了不直接在createfunc调用中传递参数,而是使用闭包

创建函数不能接受任何参数,因为它不会用任何参数调用。通过在创建函数上使用闭包作用域,可以传入影响创建值的选项:

我可以在闭包中找到的所有示例和文档都指向一个嵌套函数调用,该函数调用首先接受一个变量。在这种情况下,我不理解如何编写闭包,因为它不是一个函数,而是一个键值变量

results = tmpl_cache.get(key=search_param, createfunc=get_results)
如何将
变量a
传递到
createfunc
中的
获取结果(变量a)

get\u results\u func
返回一个函数指针,由于它位于闭包中,因此将正确调用
get\u results

def get_results_func(variable_a):
    def call_get_results():
        return get_results(variable_a)
    return call_get_results  # note the absence of brackets here.

results = tmpl_cache.get(key=search_param, createfunc=get_results_func(variable_a))