[英]Function calling functions
創建一個 function,它將任意數量的函數作為位置 arguments。 function 一一返回函數參數的執行。 請參閱示例以獲得更好的理解(我們稱之為 function鏈)。
my_func = chain(lambda x: x + 2, lambda x: (x/4, x//4))
my_func(37)
它應該返回
(9.75, 9)
我試圖做類似的事情:
def chain(x,*args):
for arg in args:
arg(x)
它不工作。 無法理解如何將非 function 參數用於此 function(在上面的示例 37 中)。
您是否正在尋找這樣的東西:
def chain(*funcs):
def chained(*args, **kwargs):
return tuple(func(*args, **kwargs) for func in funcs)
return chained
my_func = chain(lambda x: x + 2, lambda x: (x/4, x//4))
print(my_func(37))
Output:
(39, (9.25, 9))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.