使用 partial() 修复乱序的术语

Using partial() to fix terms out of order

假设我有一个函数:

def my_function(a, b, c):
    # Some Code

我可以使用:

functools.partial(my_function, "hello")

获取 my_function 的可调用对象,其中 a="hello"。但是假设我想设置参数b的值。我如何设置参数 b 的值而不做类似的事情:

functools.partial(my_function, "hello", "bob")

这也会(不希望地)设置参数值 a?

你可以的;

functools.partial(my_function, b='hello')

但是,您必须在 b:

之后指定您的参数名称
>>> partial_function = functools.partial(my_function, b='hello')
>>> partial_function('a', c='c')