如果我有一个带有一些参数的函数,我可以像这样定义一个鸭子函数:
>>> def f(x, y=0, z=42): return x + y * z
...
>>> f(1,2,3)
7
>>> g = f
>>> f(1,2)
85
>>> g(1,2)
85
我尝试部分覆盖参数,但这不起作用:
>>> g = f(z=23)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: f() takes at least 1 argument (1 given)
如何为鸭子函数部分定义函数参数?
最佳答案
>>> from functools import partial
>>> def f(x, y=0, z=42): return x + y * z
...
>>> g = partial(f, z=23)
>>> g(1,2)
47
>>> f(1,2,23)
47
关于python - 如何部分定义函数参数? Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39989189/