[英]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.