函数和方法名的部分应用,支持位置参数的占位符值。
partial-appl的Python项目详细描述
函数和方法名的部分应用,支持位置参数的占位符值。
与functools.partial()不同,占位符值是受支持的,因此部分应用程序的位置参数不需要从左到右单独提供。关键字参数的处理等效于functools.partial()。也可以“部分应用”方法名,生成一个函数,该函数查找方法以调用作为其第一个参数提供的对象。
依赖项:
- Python2.7或3.4+。
安装:
- $ pip install partial-apply
文档:
- sphinx生成的api文档位于此存储库的docs子目录中,也发布在GitHub Pages上。
示例
占位符使用示例:
frompartial_applyimportEmpty,PartialFn,PartialMethodisint=PartialFn(isinstance,Empty,int)
这使得函数isint()接受一个位置参数,如果是int,则返回True,否则返回False。也就是说,调用isint(1)等同于调用isinstance(1, int)。提供的位置参数在还原为functools.partial()样式的追加之前从左到右填充Empty占位符插槽。
PartialMethod使用示例:
count_true=PartialMethod('count',True)count_true((False,True))# returns 1count_true([False,True])# returns 1
这使得函数count_true()可以计算序列中True值的数目。它在第一个参数上查找序列方法count,并用单个参数True调用它。显示的调用相当于(False, True).count(True)和[False, True].count(True)。由于count_true()只存储方法名,而不存储方法本身,因此它对任何具有count()方法的类型都有效。
像PartialFn,PartialMethod支持占位符位置参数和functools.partial()一样的关键字参数。