[英]How to define function arguments partially? Python
如果我有一個帶有一些參數的函數,我可以像這樣定義一個鴨子函數:
>>> 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.