簡體   English   中英

functools.partial 的反面

[英]The opposite of functools.partial

有一個庫 function 接受回調並使用一些 arguments 調用它:

def library_function(callback):
    # crunching numbers
    callback(result)

我不需要結果,但我仍然想處理庫 function 已經完成的事實,所以我將一個無效的 function 作為回調傳遞。 它會導致“無效參數計數”錯誤,所以我必須用 lambda 包裝我的回調以忽略該參數:

def nullary_callback():
    print("Handled!")

library_function(lambda x: nullary_callback())

functools.partial執行相反的任務:綁定某個參數並減少 function 的數量。 是否有任何標准助手可以增加忽略新添加的 arguments 的數量,所以我可以用它替換我的 lambda,或者我的方法已經足夠pythonic了?

為什么你的nullary_callback沒有一個你不使用的參數? 這將使它成為您使用它的有效回調。

如果您需要一個始終有效的通用回調(因為它從不做任何事情):

def nullary_callback(*args, **kwargs):
    print("Handled!")


library_function(nullary_callback)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM