在其他函数中包装functools.partial参数

时间:2018-07-02 21:43:45

标签: python

我想知道是否有可能用其他函数包装part()的args,或者是否可以实现相同结果的替代方法。我想做一些可行的事情,像这样:

from functools import partial
from module import assert_function

def my_helper_function(object):
    return do_something_to_object(object)     

my_assert = partial(assert_function, arg_to_change_default=False)

my_assert(my_helper_function(left), my_helper_function(right))

我想知道是否有可能采取以下措施(当然这是行不通的):

from functools import partial
from module import assert_function

def my_helper_function(object):
    return do_something_to_object(object)     

my_assert = partial(assert_function, left=my_helper_function(left), right=my_helper_function(right), arg_to_change_default=False)

my_assert(left, right)

1 个答案:

答案 0 :(得分:1)

functools.partial不能直接使用。在调用函数之前,会对函数参数进行全面评估,并且函数可以将其他函数作为参数接收。

在通话时使用def代替。