gpt4 book ai didi

python - 在 Python 中更改函数的关键字默认值

转载 作者:行者123 更新时间:2023-11-28 16:26:41 26 4
gpt4 key购买 nike

假设我有这样一个函数:

def func_1(a, b=1, c=None):
code here

现在我想创建另一个具有相同内部结构但关键字参数不同的函数。

def func_2(a, b=2, c='asdf'):
code here

一个选项是这样的闭包:

 def make_func(b, c):
def func(a, b=b, c=c):
code here
return func

func_1 = make_func(1, None)
func_2 = make_func(2, 'asdf')

是否有更简洁/Pythonic 的方式来解决这个问题?

最佳答案

使用 functools.partial() object :

from functools import partial

func_2 = partial(func_1, b=2, c='asdf')

提供给部分的默认值可以在调用时再次覆盖:

>>> from functools import partial
>>> def func_1(a, b=1, c=None):
... return a, b, c
...
>>> func_2 = partial(func_1, b=2, c='asdf')
>>> func_2(42)
(42, 2, 'asdf')
>>> func_2(42, b=5, c='spam')
(42, 5, 'spam')

关于python - 在 Python 中更改函数的关键字默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36023611/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com